Aircraft attitude control methods

ABSTRACT

A method for controlling an aircraft includes receiving, via a processor of the aircraft, one or more signals indicative of a target attitude and a current attitude of the aircraft, determining, via the processor, an error in attitude based on comparing the target attitude and the current attitude, and generating, via the processor, a command signal for at least one propulsion unit of the aircraft based at least in part on the error in attitude and a feedback loop with angular acceleration feedback.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 15/946,013,filed on Apr. 5, 2018, which is a continuation of application Ser. No.14/390,004, filed on Oct. 1, 2014, now U.S. Pat. No. 9,958,874, which isa national stage application of International Application No.PCT/CN2014/078999, filed on May 30, 2014, the entire contents of all ofwhich are incorporated herein by reference.

BACKGROUND OF THE DISCLOSURE

Aerial vehicles such as unmanned aerial vehicles (UAVs) can be used forperforming surveillance, reconnaissance, and exploration tasks formilitary and civilian applications. Such vehicles may carry a payloadconfigured to perform a specific function. Aerial vehicles may bemulti-rotor aerial vehicles.

Typical flight control methods for multi-rotor aerial vehicles utilizecascaded proportional-integral-derivative (PID) control in whichattitude control is cascaded with angular velocity control. Based onconventional PID adjustment methods, the parameters for an inner loop ofthe control (angular velocity loop) and outer loop of the control (angleloop) are sequentially tuned. There is a strong dependence on thecalibration results of the inner loop. If the inner loop trackingperformance is not accurate, it will directly affect the entire result.However, the process of conventional PID tuning is complex and lengthy,and during the process, issues of system divergence and instability caneasily occur. Furthermore, traditional control methods only makeadjustments after disturbances have already caused the aerial vehicle toproduce angular velocity, and under certain circumstances, disturbancerejection performance cannot achieve optimal state.

SUMMARY OF THE DISCLOSURE

In some instances, it may be desirable for to control flight of anaerial vehicle, such as an unmanned aerial vehicle (UAV). It may befurther desirable to control the attitude of the aerial vehicle duringflight using a technique that is less complex or lengthy thantraditional attitude control methods. A need exists to provide stableand controlled flight for aerial vehicles.

An aspect of the disclosure is directed to a method for controllingaircraft attitude, said method comprising: (a) calculating one or moreaircraft configuration parameters based on one or more physicalcharacteristics of an aircraft; (b) receiving, at a processor, a signalindicative of a target attitude of the aircraft; (c) generating, withaid of the processor, a command signal to be delivered to at least oneactuator of the aircraft operably coupled to one or more propulsionunits of the aircraft, wherein said generation is based on (1) thesignal indicative of the target attitude of (b), and (2) the one or moreaircraft configuration parameters of (a), and where said generationfurther uses a feedback control scheme; (d) measuring, with aid of oneor more sensors operably coupled to the aircraft, dynamics of theaircraft resulting from actuation of the one or more propulsion units;and (e) feeding the dynamics to the processor to yield the feedbackcontrol scheme that adjusts or confirms the command signal of (c).

The aircraft may be an unmanned aerial vehicle. The aircraft may includea plurality of actuators operably coupled to a plurality of propulsionunits. The propulsion units may include rotors that generate lift forthe aircraft.

The signal indicative of a target attitude of the aircraft may bereceived from a remote controller over a wireless connection.

In some embodiments, the one or more physical characteristics may beinput by a user. The one or more physical characteristics of theaircraft may include a physical dimension and weight. The method mayinclude calculating an aerodynamic center and center of gravity of theaircraft. The method may also include calculating a moment of inertiafor the aircraft. The calculation using the feedback controls system mayinclude a feedforward calculation using the moment of inertia of theaircraft.

The calculation using the feedback control scheme may be performed foraircraft attitude about a pitch axis, roll axis, and yaw axis. Themethod may further include combining, using a mixer, results of thecalculations about the pitch axis, roll axis, and yaw axis, and anaircraft configuration parameter to calculate the command signal to bedelivered to the at least one actuator. The aircraft configurationparameter may be a distance from the actuator to an aerodynamic centerof the aircraft. The one or more sensors may be inertial sensors.

The dynamics of the aircraft may include the attitude of the aircraftwith respect to at least one axis, the angular velocity with respect toat least one axis, and the angular acceleration with respect to the atleast one axis.

Additional aspects of the disclosure may be directed to an aircraftattitude control system comprising: one or more processors individuallyor collectively configured to: (a) calculate one or more aircraftconfiguration parameters based on one or more physical characteristicsof an aircraft; (b) receive a signal indicative of a target attitude ofthe aircraft; and (c) generate a command signal to be delivered to atleast one actuator of the aircraft operably coupled to one or morepropulsion units of the aircraft, wherein said generation is based on(1) the signal indicative of the target attitude of (b), and (2) the oneor more aircraft configuration parameters of (a), and wherein saidgeneration uses a feedback control scheme; and one or more sensorsoperably coupled to the aircraft and configured to measure dynamics ofthe aircraft resulting from actuation of the one or more propulsionunits, said measured dynamics being fed to the one or more processors toyield the feedback control scheme that adjusts or confirms the commandsignal of (c).

Optionally, the aircraft may be an unmanned aerial vehicle. The aircraftmay include a plurality of actuators operably coupled to a plurality ofpropulsion units. The propulsion units may include rotors that generatelift for the aircraft.

The signal indicative of a target attitude of the aircraft may bereceived from a remote controller over a wireless connection.

The one or more physical characteristics may be input by a user. The oneor more physical characteristics of the aircraft include a physicaldimension and weight. The one or more processors can be individually orcollectively configured to calculate an aerodynamic center and center ofgravity of the aircraft. The one or more processors may be individuallyor collectively configured to calculate a moment of inertia for theaircraft. The calculation using the feedback controls system may includea feedforward calculation using the moment of inertia of the aircraft.

In accordance with some embodiments, the calculation using the feedbackcontrol scheme may be performed for aircraft attitude about a pitchaxis, roll axis, and yaw axis. The system may include a mixer configuredto combine results of the calculations about the pitch axis, roll axis,and yaw axis, and an aircraft configuration parameter to calculate thecommand signal to be delivered to the at least one actuator. Theaircraft configuration parameter may be a distance from the actuator toan aerodynamic center of the aircraft. The one or more sensors may beinertial sensors.

The dynamics of the aircraft may include the attitude of the aircraftwith respect to at least one axis, the angular velocity with respect toat least one axis, and the angular acceleration with respect to the atleast one axis.

A method for controlling aircraft attitude may be provided in accordancewith another aspect of the disclosure. The method may comprise: (a)assessing, with aid of a processor, a non-linear relationship betweenthrust of an actuator and actuator output; (b) receiving, at theprocessor, a signal indicative of a target attitude of an aircraft; (c)generating, with aid of the processor, a command signal to be deliveredto at least one actuator of the aircraft operably coupled to one or morepropulsion units of the aircraft, wherein said generation is based on(1) the signal indicative of the target attitude of (b), and (2) thenon-linear relationship of (a), and wherein said generation uses afeedback control scheme; (d) measuring, with aid of one or more sensorsoperably coupled to the aircraft, dynamics of the aircraft resultingfrom actuation of the one or more propulsion units; and (e) feeding thedynamics to the processor to yield the feedback control scheme thatadjusts or confirms the command signal of (c).

In some embodiments, the aircraft is an unmanned aerial vehicle. Theaircraft may include a plurality of actuators operably coupled to aplurality of propulsion units. The propulsion units may include rotorsthat generate lift for the aircraft.

The signal indicative of a target attitude of the aircraft can bereceived from a remote controller over a wireless connection. Thenon-linear relationship may be input by a user. The non-linearrelationship may be calculated during a calibration of one or moreactuator of the aircraft. The method may include calculating anaerodynamic center and center of gravity of the aircraft based on one ormore physical characteristics of the aircraft. The method may furthercomprise calculating a moment of inertia for the aircraft based on thephysical characteristics of the aircraft. The calculation using thefeedback controls system may include a feedforward calculation using themoment of inertia of the aircraft.

The calculation using the feedback control scheme may be performed foraircraft attitude about a pitch axis, roll axis, and yaw axis. Themethod may include combining, using a mixer, results of the calculationsabout the pitch axis, roll axis, and yaw axis, and an aircraftconfiguration parameter to calculate the command signal to be deliveredto the at least one actuator. The aircraft configuration parameter canbe a distance from the actuator to an aerodynamic center of theaircraft. The one or more sensors may be inertial sensors.

The dynamics of the aircraft may include the attitude of the aircraftwith respect to at least one axis, the angular velocity with respect toat least one axis, and the angular acceleration with respect to the atleast one axis.

Furthermore, aspects of the disclosure may provide an aircraft attitudecontrol system comprising: one or more processors individually orcollectively configured to: (a) assess a non-linear relationship betweenthrust of an actuator and actuator output; (b) receive a signalindicative of a target attitude of the aircraft; and (c) generate acommand signal to be delivered to at least one actuator of the aircraftoperably coupled to one or more propulsion units of the aircraft,wherein said generation is based on (1) the signal indicative of thetarget attitude of (b), and (2) the non-linear relationship of (a), andwherein said generation uses a feedback control scheme; and one or moresensors operably coupled to the aircraft and configured to measuredynamics of the aircraft resulting from actuation of the one or morepropulsion units, said measured dynamics being fed to the one or moreprocessors to yield the feedback control scheme that adjusts or confirmsthe command signal of (c).

In some embodiments, the aircraft may be an unmanned aerial vehicle. Theaircraft may include a plurality of actuators operably coupled to aplurality of propulsion units. The propulsion units may include rotorsthat generate lift for the aircraft.

The signal indicative of a target attitude of the aircraft may bereceived from a remote controller over a wireless connection. Thenon-linear relationship may be input by a user. The non-linearrelationship may be calculated during a calibration of one or moreactuator of the aircraft. The one or more processors are individually orcollectively configured to calculate an aerodynamic center and center ofgravity of the aircraft based on one or more physical characteristics ofthe aircraft. The one or more processors may be individually orcollectively configured to calculate a moment of inertia for theaircraft based on the physical characteristics of the aircraft. Thecalculation using the feedback controls system may include a feedforwardcalculation using the moment of inertia of the aircraft.

The calculation using the feedback control scheme may be performed foraircraft attitude about a pitch axis, roll axis, and yaw axis.Optionally, the system may include a mixer configured to combine resultsof the calculations about the pitch axis, roll axis, and yaw axis, andan aircraft configuration parameter to calculate the command signal tobe delivered to the at least one actuator. The aircraft configurationparameter can be a distance from the actuator to an aerodynamic centerof the aircraft. The one or more sensors may be inertial sensors.

The dynamics of the aircraft may include the attitude of the aircraftwith respect to at least one axis, the angular velocity with respect toat least one axis, and the angular acceleration with respect to the atleast one axis.

In accordance with additional aspects of the disclosure, a method forcontrolling aircraft attitude may be provided. The method may comprise:(a) receiving, at the processor, a signal indicative of a targetattitude of an aircraft; (b) generating, with aid of the processor, acommand signal to be delivered to at least one actuator of the aircraftoperably coupled to one or more propulsion units of the aircraft,wherein said generation is based on the signal indicative of the targetattitude of (a), and wherein said generation uses a feedback controlscheme that includes (1) an angular acceleration loop with angularacceleration feedback and (2) direct feedforward calculation based on atarget acceleration; (c) measuring, with aid of one or more sensorsoperably coupled to the aircraft, dynamics of the aircraft resultingfrom actuation of the one or more propulsion units; and (d) feeding thedynamics to the processor to yield the feedback control scheme thatadjusts or confirms the command signal of (b).

The aircraft may be an unmanned aerial vehicle. The aircraft may includea plurality of actuators operably coupled to a plurality of propulsionunits. The propulsion units may include rotors that generate lift forthe aircraft.

The signal indicative of a target attitude of the aircraft may bereceived from a remote controller over a wireless connection. The methodmay further include calculating an aerodynamic center and center ofgravity of the aircraft based on one or more physical characteristics ofthe aircraft. The method may further include calculating a moment ofinertia for the aircraft based on the physical characteristics of theaircraft. The feedforward calculation may use the moment of inertia ofthe aircraft. The calculation using the feedback control scheme may beperformed for aircraft attitude about a pitch axis, roll axis, and yawaxis.

The method may further include combining, using a mixer, results of thecalculations about the pitch axis, roll axis, and yaw axis, and anaircraft configuration parameter to calculate the command signal to bedelivered to the at least one actuator. The aircraft configurationparameter may be a distance from the actuator to an aerodynamic centerof the aircraft. The one or more sensors may be inertial sensors.

The dynamics of the aircraft may include the attitude of the aircraftwith respect to at least one axis, the angular velocity with respect toat least one axis, and the angular acceleration with respect to the atleast one axis.

An aspect of the disclosure may be directed to an aircraft attitudecontrol system comprising: one or more processors individually orcollectively configured to: (a) receive a signal indicative of a targetattitude of an aircraft; and (b) generate a command signal to bedelivered to at least one actuator of the aircraft operably coupled toone or more propulsion units of the aircraft, wherein said generation isbased on the signal indicative of the target attitude of (a), andwherein said generation uses a feedback control scheme that includes (1)an angular acceleration loop with angular acceleration feedback and (2)direct feedforward calculation based on a target acceleration; and oneor more sensors operably coupled to the aircraft and configured tomeasure dynamics of the aircraft resulting from actuation of the one ormore propulsion units, said measured dynamics being fed to the one ormore processors to yield the feedback control scheme that adjusts orconfirms the command signal of (c).

In some embodiments, the aircraft may be an unmanned aerial vehicle. Theaircraft may include a plurality of actuators operably coupled to aplurality of propulsion units. The propulsion units may include rotorsthat generate lift for the aircraft.

The signal indicative of a target attitude of the aircraft may bereceived from a remote controller over a wireless connection. The one ormore processors may be individually or collectively configured tocalculate an aerodynamic center and center of gravity of the aircraftbased on one or more physical characteristics of the aircraft. The oneor more processors may be individually or collectively configured tocalculate a moment of inertia for the aircraft based on the physicalcharacteristics of the aircraft. The feedforward calculation may use themoment of inertia of the aircraft. In some implementations, thecalculation using the feedback control scheme may be performed foraircraft attitude about a pitch axis, roll axis, and yaw axis.

The system may include a mixer configured to combine results of thecalculations about the pitch axis, roll axis, and yaw axis, and anaircraft configuration parameter to calculate the command signal to bedelivered to the at least one actuator. The aircraft configurationparameter may be a distance from the actuator to an aerodynamic centerof the aircraft. The one or more sensors may be inertial sensors.

In accordance with some embodiments, the dynamics of the aircraft mayinclude the attitude of the aircraft with respect to at least one axis,the angular velocity with respect to at least one axis, and the angularacceleration with respect to the at least one axis.

It shall be understood that different aspects of the disclosure can beappreciated individually, collectively, or in combination with eachother. Various aspects of the disclosure described herein may be appliedto any of the particular applications set forth below or for any othertypes of movable objects. Any description herein of aerial vehicles,such as unmanned aerial vehicles, may apply to and be used for anymovable object, such as any vehicle. Additionally, the systems, devices,and methods disclosed herein in the context of aerial motion (e.g.,flight) may also be applied in the context of other types of motion,such as movement on the ground or on water, underwater motion, or motionin space.

Other objects and features of the present disclosure will becomeapparent by a review of the specification, claims, and appended figures.

INCORPORATION BY REFERENCE

All publications, patents, and patent applications mentioned in thisspecification are herein incorporated by reference to the same extent asif each individual publication, patent, or patent application wasspecifically and individually indicated to be incorporated by reference.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the disclosure are set forth with particularity inthe appended claims. A better understanding of the features andadvantages of the present disclosure will be obtained by reference tothe following detailed description that sets forth illustrativeembodiments, in which the principles of the disclosure are utilized, andthe accompanying drawings of which:

FIG. 1 shows an example of a multi-stage attitude control method, inaccordance with an embodiment of the disclosure.

FIG. 2 shows an example of how physical parameters of an aircraft may beassociated with an attitude control method for an aircraft, inaccordance with an embodiment of the disclosure.

FIGS. 3A-D show examples of various physical characteristics that may beconsidered for one or more physical parameters of an aircraft, inaccordance with an embodiment of the disclosure.

FIG. 4 shows an example of how an aircraft model may be used todetermine one or more parameters in a control method for the aircraft,in accordance with an embodiment of the disclosure.

FIG. 5 shows an example of an aircraft with a flight controller, inaccordance with an embodiment of the disclosure.

FIG. 6A shows an example of an attitude control scheme that may beimplemented by an aircraft, in accordance with an embodiment of thedisclosure.

FIG. 6B shows an example of an attitude control scheme that may beimplemented by an aircraft, in accordance with an embodiment of thedisclosure.

FIG. 6C shows an example of a portion of a control inner loop, inaccordance with an embodiment of the disclosure.

FIG. 6D shows an example of an attitude control scheme in accordancewith an embodiment of the disclosure.

FIG. 7A shows an example of tracking error, in accordance with anembodiment of the disclosure.

FIG. 7B further shows an example of tracking error, in accordance withan embodiment of the disclosure.

FIG. 8 shows a comparison between a response of a controller provided inaccordance with an embodiment of the disclosure, as compared to aconventional controller.

FIG. 9 illustrates an unmanned aerial vehicle, in accordance with anembodiment of the disclosure.

FIG. 10 illustrates a movable object including a carrier and a payload,in accordance with an embodiment of the disclosure.

FIG. 11 is a schematic illustration by way of block diagram of a systemfor controlling a movable object, in accordance with an embodiment ofthe disclosure.

DETAILED DESCRIPTION OF THE DISCLOSURE

The systems, devices, and methods of the present disclosure provideattitude flight control for an aerial vehicle. The aerial vehicle may bean unmanned aerial vehicle (UAV), or any other type of movable object.The aerial vehicle may be a multi-rotor aerial vehicle.

Traditional attitude control methods for multi-rotor aircraft controlschemes utilize cascaded proportional-integral-derivative (PID) controlin which attitude control is cascaded with angular velocity control.Based on conventional PID adjustment methods, the parameters for aninner loop (angular velocity loop) and outer loop (angle loop) may besequentially tuned.

With respect to traditional cascaded controllers, there is a strongdependence on the calibration results of the inner loop; if the innerloop tracking performance is not good, it will directly affect theentire result. Thus, the tuning of the design and parameters of theinner loop are extremely important. However, the process of conventionalPID tuning is complex and lengthy, and during the process issues ofsystem divergence and instability easily occur. Control parameterstypically use actual tuning results as a standard, but are stronglysystem dependent. When the system changes (e.g., if there are changes inthe aircraft structure, rotor distance, weight) it is necessary to tunethe parameters anew. Moreover, the tuning cycle is still relativelylong. The primary reason is due to a lack of complete understanding ofthe system model, and there is no relationship between the parameters.

Under conventional cascaded PID control, the inner angular velocity loopis primarily designed to resist velocity disturbances, so under normalcircumstances the controller only makes adjustments after disturbanceshave already caused the aircraft to produce angular velocity. Undercertain circumstances, disturbance rejection performance cannot achievethe optimal state.

Improved flight control methods and systems are provided herein. Forinstance, a flight attitude control method may take physical and/ordynamic parameters of an aerial vehicle into account. For instance,according to the aircraft structure and propulsion, performance limitsmay be automatically assessed, and used as references for control. Usingan aerial vehicle model as a base, the physical and/or dynamicparameters may become controller coefficients. This may make it is easyto adjust the PID control for different aerial vehicle models.Pre-assessment may occur so that a control system may be differentiatedfor different aerial vehicle models and may be easily applied todifferent models. In some instances, non-linear parameters may beconsidered.

In some implementations, the physical parameters of the aerial vehiclemay be assessed to determine a moment of inertia for the aerial vehicleas a whole. The physical parameters may also be assessed to calculate anaerodynamic center of the aerial vehicle, and determine an axialdistance from a motor or propulsion unit of the aerial vehicle to theaerodynamic center. The physical parameters may also be used todetermine a motor thrust/lift curve for one or more motors of the aerialvehicle. These parameters may be aircraft configuration parameters thatmay be used in the attitude control of the aerial vehicle. Theseparameters may be assessed in real-time or may be pre-assessed. Aircraftconfiguration parameters may be associated with various models of theaerial vehicle. An aerial vehicle model may be selected and theappropriate aircraft configuration parameters may be applied to theattitude control scheme.

Furthermore, improved flight control methods may include adding anangular acceleration loop to the PID control scheme. The flight controlmethods may also include doing direct control, and strengtheningdisturbance rejection and tracking performance. Since the angularacceleration loop can act as direct control, response time may be shortwith strong disturbance resistance characteristics. By directlysuppressing disturbances, response time may be reduced.

FIG. 1 shows an example of a multi-stage attitude control method, inaccordance with an embodiment of the disclosure. The multi-stageattitude control may be used to control an attitude of an aerialvehicle, such as a UAV or any other type of aircraft. The aircraft maybe manned or unmanned. The aircraft may be a multi-rotor aircraft, whichmay include two or more rotors that may provide lift to the aircraft.The aircraft may be single-rotor aircraft. Any description hereinrelating to flight control of an aircraft may be applied to any othermovable object. For example, the attitude control methods describedherein may apply to spacecraft and/or underwater vehicles. One or moreaspects of the attitude control may apply to aerial vehicles, outerspace vehicles, land-bound vehicles, or aquatic vehicles.

The attitude control may be implemented about one or more axes ofrotation about the aircraft. For example, the attitude control may beimplemented about a pitch axis, roll axis, and/or yaw axis. The attitudecontrol may be implemented about one of these axes, two of these axes,or all three of these axes.

An attitude control method may be implemented in multiple stages. Forexample, a pre-configuration stage and a flight stage may be provided.The pre-configuration stage and the flight stage may occur at differentpoints in time and/or at different locations.

In one example, a pre-configuration stage may occur during which one ormore physical parameters of an aircraft may be assessed. One or morecalculations may be performed based on the physical parameters of theaircraft. The physical parameters of the aircraft may include spatialdimensions, such as height, width, length, diameter, diagonal, orcircumference. The physical parameters may also take morphology of theaircraft into account, such as shape of the aircraft body and/or anyextensions. The physical parameters may also take other factors intoaccount, such as weight, weight distribution, center of gravity, ordensity. Further examples of physical parameters may be describedelsewhere herein.

Dynamic parameters may be assessed during the pre-configuration stage.Alternatively, dynamic parameters may be considered at a later stage.Dynamic parameters may include battery-related specifications or otherpower source specifications, or motor characteristics, such as thrust orpower. Further examples of dynamic parameters are described elsewhereherein.

The pre-configuration stage may occur for one or more models ofaircraft. For example, different aircraft models may have differentphysical and/or dynamic parameters. For instance, different aircraftmodels may have different shapes, sizes, weights, weight distributions,power source characteristics, motor characteristics, or other differentfeatures or characteristics. In some instances, the pre-configurationmay occur by a manufacturer or distributor of the one or more models ofaircraft. The pre-configuration may occur via a manufacturer ordistributor of a control system that may be applied to one or moremodels of aircraft. The pre-configuration may occur via any third partythat may provide the information from the pre-configuration to aid incontrolling the aircraft. The information may be stored in a memory thatmay be accessible by a flight controller controlling the aircraft. Insome instances, the pre-configuration is not performed by an end user ofthe aircraft. For example, the pre-configuration may be performed anentity that is different from a user that is operating the aircraft. Thepre-configuration may be performed before an end user has access to theaircraft. For example, the pre-configuration may occur hours, days,weeks, months, quarters, or years before the user has access to theaircraft or before the user operates the aircraft.

In some instances, the pre-configuration may be performed as acalibration of the aircraft. The calibration may occur before the userhas access to the aircraft or may be independent of the user'sinteractions with the aircraft. The aircraft may be able to access thepre-configuration information. The pre-configuration information may bestored on-board the aircraft, or may be accessible via the aircraft froma memory off-board the aircraft.

Optionally, the flight stage may occur after the pre-configurationstage. The flight stage may be provided when a user has access to theaircraft. The flight stage may be when a user is able to operate theaircraft. During the flight stage, an attitude control method may beused on the aircraft. The attitude control systems may be used by theaircraft to control the attitude of the aircraft during flight. Theattitude control systems may use pre-configuration information that maybe collected earlier during a pre-configuration stage.

Additional calibrations may or may not occur at a flight stage. In oneexample, whenever a user turns an aircraft on, some calibrations mayoccur. Alternatively, calibrations may occur when the user firstreceives the aircraft and operates it for the first time. In anotherexample, calibrations may occur upon request. Calibration informationmay or may not be used to determine physical dimensions of theaircrafts. Calibration information may or may not be used to determinedynamic characteristics of the aircraft. The flight-stage calibrationinformation may or may not be coupled with the pre-configurationinformation for determining one or more coefficients for a flightattitude control method.

FIG. 2 shows an example of how physical parameters of an aircraft may beassociated with an attitude control method for an aircraft, inaccordance with an embodiment of the disclosure. In some instances,these steps may occur during a pre-configuration stage.

One or more physical parameters of an aircraft may be assessed. In someinstances, these parameters may be measured manually by a human being,or may be measured automatically with aid of a processor. In someinstances, a live being may enter the data, via a device, to be storedin memory. For example, a human being may measure a dimension of theaircraft and enter the data. In another example, one or more machinesmay be used to determine a physical parameter of the aircraft, and thedata may be automatically provided to a memory storing the information.For example, the weight of the aircraft may be measured andautomatically communicated into memory.

Examples of physical parameters may include factors relating to aircraftstructure and/or aircraft dynamics. The physical parameters may includespatial dimensions, such as height, width, length, diameter, diagonal,or circumference. The physical parameters may also take morphology ofthe aircraft into account, such as shape of the aircraft body and/or anyextensions. The physical parameters may also take other factors intoaccount, such as weight, weight distribution, center of gravity, ordensity. In some instances, one or more material properties of theaircraft may be taken into account, such as density, rigidity,flexibility, or elasticity may be taken into account. Such physicalparameters may relate to aircraft structure. The physical parameters maybe gathered for the aircraft as a whole and/or one or more component ofthe aircraft. For example, the physical parameters may pertain to theaircraft frame, power source (e.g., battery), avionics system, carrier,payload, sensors, motors, landing gear, communication unit, or any othercomponent.

Physical parameters may also include aircraft dynamics. This may includepower source specifications, such as maximal battery current, maximalpower output, energy density, battery capacity, discharge rate, ratingvoltage, battery life, or any other features. In some instances,information about battery chemistry or type of battery may be specifiedor determined. This may also include motor characteristics, such asthrust or power. In some instances, motor characteristics may includemaximal trust, maximal power. Electronic speed control's current andpower may also be determined.

Any other physical parameters relating to the aircraft may be assessed.Information about one or more of the aircraft physical parameters may bestored in memory. For example, the physical parameter data may be storedin one or more databases. The databases may be external to the aircraft.The databases may be stored in a cloud computing environment and/or maybe distributed over multiple devices. Alternatively, the databases maybe stored on-board the aircraft.

One or more calculations may be performed on the physical parameters todetermine one or more aircraft configuration parameters. Physicalparameters may represent physical characteristics of the aircraft thatmay be directly measureable. Aircraft configuration parameters may becalculated based on the physical parameters. Aircraft configurationparameters may be calculated with aid of a processor.

Some examples of aircraft configuration parameters that may include, butare not limited to, aircraft aerodynamic center, aircraft center ofgravity, or moment of inertia of the entire aircraft or a component ofthe aircraft. The aircraft's aerodynamic characteristics and/orstability may be analyzed.

FIG. 3 shows an example of various physical characteristics that may beconsidered for one or more physical parameters of an aircraft, inaccordance with an embodiment of the disclosure. FIG. 3A shows anexample of how a center of gravity of an aircraft may be calculated. Asshown, when the aircraft center of gravity is situated under the liftsurface, when the aircraft lateral flight may reach a constantequilibrium velocity, the horizontal component of the lift force maycounteract the drag force, and/or the vertical component may counteractgravity. In some instances, the aerodynamic center and gravity may ormay not coincide. In a situation where the aerodynamic center and thecenter of gravity do not coincide, the vertical lift component andgravity may form a force couple, causing the aircraft to experience anose-up pitching moment. This may cause the aircraft to tend towards thehorizontal, which may permit the aircraft to become a stable system.Thus during aircraft design, the position of the center of gravity canbe changed to adjust the aircraft's stability. The center of gravity ofthe aircraft may be calculated based on the physical parameters. In someinstances, the weight distributions and positioning of variouscomponents of the aircraft may be considered to determine the center ofgravity of the aircraft. The center of gravity may differ from aircraftmodel to aircraft model.

FIG. 3B shows an example of how a moment of inertia of the aircraft maybe calculated. In some embodiments, the entire aircraft's moment ofinertia distribution may be analyzed. The influence of the aircraftmodel and the configuration of the payload may be assessed for theireffect on the entire aircraft's moment of inertia. These can be used asa reference to adjust the aircraft's entire configuration.

The basic physical models making up each component of an aircraft may beestablished. Examples of aircraft components may include, but are notlimited to, aircraft frame, power source (e.g., battery), avionicssystem, carrier, payload, sensors, motors, propulsion units, landinggear, or communication unit. The basic models may include installationlocation, weight, and terms relating to each component's moment ofinertia. Then, using the parallel axis theorem, the entire aircraft'smoment of inertia based on the moments of inertia of each component. Asillustrated, the shapes of the various components and/or the aircraft asa whole and weight distribution may be considered in calculating themoment of inertia. The moment of inertia may be calculated with aid of aprocessor based on the gathered physical parameters. In someimplementations, finite element analysis (FEM) may be employed. Theparallel axis theorem may be used in calculating the moment of inertial.

Some example of moment of inertia calculations may be provided asfollows:

1) Particle:

I=M*L̂2

2) About a portion of a cylinder:

I=⅓*M*L̂2

3) About the center of a cylinder:

I=½*M*R̂2

wherein I is the moment of inertia, M is the mass, L is the distancefrom the center of the particle or cylinder (or any other shape) to theaxis of rotation and R is the radius of the cylinder.

Additional calculations may include torque and angular velocitycalculations, which may be provided as follows:

torque=L*F

angular velocity=torque/moment of inertia

Based on theoretical analysis and calculation of a large number ofaircraft models, the sought-for primary moment of inertia of theaircraft may be about 50% allocated by the electronics and propulsionunit (e.g., propellers/rotor blades). Because the moment of inertia andthe rotor distance may be related by a squared relationship, and thetorque increases linearly, with the same propulsion, under small rotordistance conditions there may be better drive characteristics, underlarge rotor distances there may be better stability characteristics.

Additionally, other aircraft configuration parameters that may beconsidered may include power source (e.g., battery) parameters, actuator(e.g., motor) parameters, and/or electronic speed control (ESC)parameters.

For instance, physical parameters may be used to calculate theseaircraft configuration parameters. The maximal battery current, maximalpower output, and/or energy density, the motor's maximal thrust and/orpower, and/or the ESC maximal current and/or power may be assessed asfollows.

battery_current_max=battery_capacity*discharge_rate

battery_power max=battery_current _max*rating_voltage

motor_max_thrust & power: from experiment

esc_max_current & power: from experiment

Furthermore, it may be desirable to assess the propulsion system'ssafety and/or compliance. For instance, it may be desirable that thecurrent that can be provided by the battery>ESC's maximalcurrent>motor's current.

An additional calculation of aircraft configuration parameters fromphysical parameters may include a hover performance assessment. Forexample, based on the aircraft's weight and dynamics, a calculation maybe made for the hover power output, power usage amount, efficiency,power, and/or estimated hover time. The calculation may be performedwith aid of a processor.

The motor output can be determined from accessing data regarding themotor in one or more databases. In some instances, the data regardingthe motor may be a look up table based on the aircraft's weight andmotor tension curve, and the efficiency can be determined from a look uptable based on the motor output. The look up table may be created basedon empirical test data. Alternatively, the look up table can be createdbased on simulated or projected data. In some instances, data on theloop up table may be entered by an individual. Optionally, the motortension curve may be non-linear.

One or more hover characteristics may be calculated as follows:

hover power=weight/efficiency

hover current=hover power/voltage

time=battery capacity/hover current

Additionally, the physical parameters may be used to perform anactuation performance assessment. One or more aircraft configurationparameters from the actuation performance assessment may include, butare not limited to thrust-to-weight ratio, parameters relating to speed(e.g., maximal ascending speed, maximal descending speed, upper speedlimit based on designed braking distance), parameters relating to angle(e.g., theoretical maximum attitude angle, attitude angle aftercompensation, limit to attitude angle), parameters relating to torque(e.g., three-axis torque), parameters relating to angular velocity(e.g., using braking angle to calculate maximum angular velocity),parameters relating to motor rotation (e.g., calculate influence ofmotor rotation direction on a yaw axis, and/or associated compensation).

FIG. 3C shows an example of motor rotation direction on one or morecontrol parameters, which may be aircraft configuration parameters. Oneor more of the aircraft configuration parameters may also be calculatedas follows:

thrust-to-weight ratio=maximal thrust/weight

hover lift force(N)=entire aircraft weight (kg)*9.8 (m/ŝ2)

hover throttle=look up (lift force), units: %

hover efficiency=look up (hover throttle), units: g/watt

hover braking efficiency=look up (hover throttle), units: g/watt

hover current=entire aircraft weight/efficiency

hover time=battery capacity/hover current

maximal attitude angle=arcos (hover lift force/maximal lift force)

As shown in FIG. 2, the aircraft configuration parameters may becalculated based on the one or more physical parameters from theaircraft. The aircraft configuration parameters may be associated withan aircraft model. For example, different aircraft models (e.g., UAVmodels, manned aircraft models) may have different physical parametersand associated aircraft configuration parameters. The aircraftconfiguration parameters may be collected and/or stored for each of themodels. In some instances, some of the aircraft configuration parametersmay include data that was received empirically, manually entered by auser, modeled or simulated, or calculated based on any existing data.

One or more aircraft configuration parameters may include controllerparameters that may be used to tune an aircraft flight controller. Forexample, the aircraft's moment of inertia, motor tension curve, anddynamic acceleration/deceleration performance may be used toautomatically tune controller parameters. Such tuning may occuraccording to tracking error. Using the aircraft configuration parametersmay simplify the parameter tuning process and enhance controllerperformance.

In some embodiments, providing the aircraft's moment of inertia, motorlift output curve, and/or axial distance (e.g., distance from motor toaerodynamic center) may enhance controller performance. Such parametersmay be useful for differentiating different aircraft models. Suchparameters may be associated with an aircraft model. Thus, when a userreceives an aircraft, the user may specify the aircraft model, or theaircraft model may already be pre-programmed in. The parameters for thespecific aircraft models may be used in the flight control system tocontrol attitude of the aircraft.

FIG. 3D illustrates a set of working principles for an aircraft inaccordance with an embodiment of the disclosure. An aircraft mayoptionally have three degrees of freedom. For example, the aircraft maybe capable of rotating about three axes of rotation, and for generatinga lift force. For example, in a rotorcraft, the rotors may rotate togenerate lift of the aircraft. The rotors may rotate to permit theaircraft to rotate about one, two, or three axes of rotationsimultaneously. In some instances, the axes of rotation may beorthogonal to one another and/or may remain orthogonal to one anotherduring the flight of the aircraft (e.g., θ, φ, ψ). The axes of rotationmay include pitch, yaw, and/or roll axes of rotation.

In some embodiments, the rotorcraft may have a plurality of rotors, eachcapable of generating lift for the rotorcraft (e.g., F₁, F₂, F₃, F₄). Inone example, four rotors may be provided. The rotors may generate thesame amount or lift or differing amounts of lift. The rotors may rotatewith the same angular velocity, or with different angular velocities(e.g., ω₁, ω₂, ω₃, ω₄).

Robust and adaptive control strategy may be useful for a multi-rotoraircraft. The system governing flight of a multi-rotor aircraft may beunstable by nature, and may diverge in seconds if no proper control lawis applied. The system may be nonlinear. The nonlinearity of the systemand the complexity of aerial dynamics necessitate improvements incontroller design.

The systems and methods described herein may model the dynamics ofaircraft flight and develop a control scheme to stabilize the attitudeof a multi-rotor aircraft, of which the configuration manifold can benonlinear. The dynamics and proposed control system can be expressed onthe special orthogonal group, SO(3), to avoid singularity andambiguities associated with other attitude representations such as Eulerangle and quaternion. Modeling of the multi-rotor aircraft can includekinematics and dynamics analysis of the multi-rotor and systemidentification of the actuators (e.g., motor, rotor, and/or propeller).

Finite element analysis (FEM) can be used to estimate the moment ofinertia of the system. A first order inertia system with time delay maybe considered as the approximate model for the system identification.The control system can be broken down into proportional control on SO(3)and cascade PID (proportional, integral and derivative) control ofdynamics with feed-forward compensation, as described elsewhere herein.For control on SO(3), the error may be defined as the natural error onSO(3), (may be provided in terms of geodesic, which may be desirable).The proportional control may be defined on an exponential coordinate ofSO(3), since it is a linear space. The control scheme can be verified byLyapunov function to ensure the stability on a nonlinear manifold. Forcascade PID control of dynamics, the controller may be organized insequence of exponential coordinate of SO(3), angular velocity, andangular acceleration. Techniques using an incomplete differential PIDcontroller and Smith predictor may be employed to further suppress thenoise and improve the control quality. Furthermore, feed-forwardcompensation may be added to improve transient response. Furtherdescriptions of control schemes for multi-rotor aircraft are describedelsewhere herein.

FIG. 4 shows an example of how an aircraft model may be used todetermine one or more parameters in a control method for the aircraft,in accordance with an embodiment of the disclosure. For example, anaircraft may have one or more on-board processors that may function as aflight controller.

When a user receives an aircraft, the user may be able to input theaircraft model. For example, the user may input the aircraft modeldirectly into the aircraft. In another example, the user may input theaircraft model into an external device that may communicate with theaircraft. The external device may be a controller of the aircraft or adisplay device that displays data from the aircraft. The external devicemay be a computer, smartphone, tablet, or any other type of device orterminal as described elsewhere herein.

In some instances, the aircraft may already be pre-programmed in withthe aircraft model information. The aircraft model information may ormay not be changeable.

In some embodiments, the aircraft model information may be used toaccess one or more aircraft configuration parameters for the selectedaircraft model. In some instances, data may be stored in memory aboutone or more aircraft configuration parameters that may be associatedwith an aircraft model. For example, Aircraft Model A and Aircraft ModelB may have one or more different physical characteristics. The differentphysical characteristics may result in different aircraft configurationparameters, such as different moments of inertia, motor lift outputcurve, and/or axial distance. The different aircraft configurationparameters may be used by a flight controller to control the flight ofthe aircraft. In some instances, the data may be stored as a lookuptable, where the various configuration parameters for the differentmodels of aircraft may be accessible. For example, if a request is madefor configuration parameters for Aircraft Model X, they may be providedfrom the lookup table. In some instances, the lookup table may be storedon-board an aircraft. Thus, a user may enter or alter an aircraft modelto define or alter the configuration parameters that are used by theflight controller. In other instances, the lookup table may be storedoff-board the aircraft. The aircraft may be capable of communicatingwith an external device to access data from the lookup table. Forexample, the aircraft may send an indicator of an aircraft model, andthe external device may send the aircraft configuration parametersassociated with the selected aircraft model.

Optionally, an aircraft may have one or more aircraft configurationparameters pre-programmed therein. The aircraft configuration parametersmay be stored on the aircraft when the user receives the aircraft. Theuser may or may not need to specify the aircraft model. In someinstances, at a manufacturer site, or other site, a determination may bemade about the aircraft model, and the flight controller may bepre-programmed with the aircraft configuration parameters that may bedetermined based on the physical parameters of the aircraft. Theaircraft configuration parameters may be accessed from a lookup tablesincluding data for multiple aircraft models. For example, at themanufacturer site, the manufacturer may specify that an Aircraft Model Xis being manufactured, and the associated aircraft configurationparameters may be accessed and pre-programmed into the aircraft. A usermay or may not be able to alter the aircraft configuration parameters.In some instances, a user may be able to enter a request for newconfiguration parameters for the aircraft (directly on the aircraft orvia an external device capable of communicating with the aircraft). Sucha request may be made based on an aircraft model, or may include entryof new physical characteristics of the aircraft. In some instances, theaircraft configuration parameters may be pre-calculated and may bestored in data and accessible upon request. In other instances, newphysical parameter data may be entered or measured, and new aircraftconfiguration parameters may be calculated. Such calculations may occurin real-time. For example, a user may modify an existing aircraft in away that may change one or more aircraft configuration parameters. Forexample, a user may add a new camera to a UAV which may change theweight and/or distribution of weight. The moment of inertia and/or otheraircraft configuration parameters may be re-calculated to accommodatethe change.

In some instances, information about an aircraft may be stored in anon-board memory and/or processor of the aircraft. The processor mayevaluate one or more parameters when the aircraft is turned on. In someinstances, the processor may access pre-calculated parameters based onthe stored aircraft model. In other instances, some diagnostics ormeasurements may be taken when the aircraft is turned on and may be usedto generate one or more aircraft configuration parameters.

During flight, an aircraft may be controlled by an input from a flightcontrol device. The flight control device may be an external device thatis separate from the aircraft. Optionally, the flight control device maybe a remote control operated by a user on land while the aircraft isflying. The flight control device may communicate with the aircraftwirelessly. Alternatively, the flight control device may be built intothe aircraft. For example, a user may operate the flight control devicewhile the user is on-board the aircraft. The user may be a pilot of theaircraft and may operate the flight control device from the cockpit. Theflight control device may include information that may pertain todirection and/or speed of the aircraft. The input from the flightcontrol device may be used to determine a target attitude of theaircraft. The target attitude of the aircraft may be determined aboutone, two, or three axes of rotation. For instance, the target attitudeof the aircraft may be determined about a pitch axis, roll axis, and/oryaw axis.

An aircraft may have a flight controller. The flight controller mayinclude one or more processors on-board the aircraft. The flightcontroller may receive signals indicative of the input from the flightcontrol device. The flight controller may control flight of the aircraftin response to the input from the flight control device. The flightcontroller may control flight of the aircraft in response to one or moreof the aircraft flight configuration parameters. The flight controllermay perform aircraft attitude control based on the signal from theflight control device (e.g., target attitude), and the aircraftconfiguration parameters. The flight controller may perform attitudecontrol about the roll, yaw, and pitch axes of the aircraft based ontarget roll, yaw, and pitch axes, and the aircraft configurationparameters.

FIG. 5 shows an example of an aircraft with a flight controller, inaccordance with an embodiment of the disclosure. The aircraft 510 mayhave one or more on-board flight controller 520. The flight controllermay include one or more processors that may individually or collectivelygenerate a command signal to control the flight of the aircraft.

The flight controller 520 may communicate with one or more actuator 560a, 560 b of the aircraft. The actuators may be motors that may becoupled to one or more propulsion units of the aircraft. The propulsionunits may include rotors that may be rotate to generate lift for theaircraft. In some instances, the aircraft may be a multi-rotor aircrafthaving a plurality of rotors, each of which may generate lift for theaircraft. The command signal may determine the output provided to themotors, which may determine the speed at which the rotors coupled to themotors may rotate. In some instances, each rotor may be coupled to anindividual motor. Optionally, one rotor may be coupled to multiplerotors, or multiple motors may be used to drive a single rotor. Themotors may be individually controllable. For example, one motor may havea different power output than another motor in different circumstances.The propulsion units may all be the same type of propulsion units or mayinclude different types of propulsion units. For example all propulsionunits may include rotor blades/propellers. In some embodiments, therotor blades and/or propellers may have the same configuration and/ordimensions or different configurations and/or dimensions. Any number ofmotors and/or propulsion units may be provided for an aircraft. Forexample, one, two, three, four, five, six, seven, eight, nine, ten,eleven, twelve, or more motors and/or propulsion units may be providedon-board the aircraft.

Each motor may be controlled individually. For example, a separatecommand signal may be provided to each motor. Each motor may have thesame or different motor output as other motors of the aircraft. Theoutput to each motor may vary depending on the desired target attitudeof the aircraft. For example, if it is desirable to adjust the attitudeof the aircraft, one or more motors may operate at different outputs(e.g., may rotate with different speeds or rpm) to create the change inthe attitude of the aircraft.

In some instances, memory including one or more aircraft configurationparameters 530 may be provided on the aircraft. The aircraftconfiguration parameters may include moment of inertia for the entireaircraft, motor lift output curve, and/or axial distance (e.g., distancefrom motor to aerodynamic center). Other aircraft configurationparameters may be stored, such as those described elsewhere. Theaircraft configuration parameters may be derived from one or morephysical characteristics of the aircraft or aircraft model. The aircraftconfiguration parameters may be pre-programmed into the memory.Alternatively, the aircraft configuration parameters may be downloadedfrom an external device into the memory. The aircraft configurationparameters may be stored in the memory and may be used the flightcontroller 520 in generating the command signal.

Optionally, one or more sensors 540 may be provided on-board theaircraft. Examples of sensors may include, but are not limited toimaging devices (e.g., cameras, vision sensors, infra-red/thermalimaging devices, UV imaging devices, or other types of spectral imagingdevices), inertial sensors (e.g., gyroscopes, accelerometers,magnetometers), ultrasonic sensors, lidar, sonar, or any other type ofsensor. In some instances, the sensor may communicate with an externaldevice, such as a global positioning system (GPS) satellite. The sensormay be a GPS receiver. In other instances, the sensor may communicatewith one or more towers or relays. The sensors may gather informationabout the environment surrounding the aircraft. The sensors may or maynot be used to aid in navigation of the aircraft. In some instances, thesensors 540 may communicate with the flight controller 520 of theaircraft. In some instances, signals from the sensors may be used by theflight controller in generating a command signal to one or moreactuator. The signals from the sensors may or may not be used incontrolling the attitude of the aircraft about one or more axes.

In some instances, the sensors may be useful in gather information aboutaircraft dynamics. For example, the sensors may be used to gatherinformation about the aircraft attitude, angular velocity, and/orangular acceleration about one or more axes of rotation. For example,the sensors may include gyroscopes or other sensors that may gatherinformation about aircraft attitude, angular velocity, and/oracceleration about a pitch axis, roll axis, and/or yaw axis. The sensorsmay be inertial sensors or may be part of an inertial measurement unit(IMU). An IMU can include one or more accelerometers, one or moregyroscopes, one or more magnetometers, or suitable combinations thereof.For example, the IMU can include up to three orthogonal accelerometersto measure linear acceleration of the movable object along up to threeaxes of translation, and up to three orthogonal gyroscopes to measurethe angular acceleration about up to three axes of rotation. The IMU canbe rigidly coupled to the aerial vehicle such that the motion of theaerial vehicle corresponds to motion of the IMU. Alternatively the IMUcan be permitted to move relative to the aerial vehicle with respect toup to six degrees of freedom. The IMU can be directly mounted onto theaerial vehicle, or coupled to a support structure mounted onto theaerial vehicle. The IMU may be provided exterior to or within a housingof the movable object. The IMU may be permanently or removably attachedto the movable object. The IMU can provide a signal indicative of themotion of the aerial vehicle, such as a position, orientation, velocity,and/or acceleration of the aerial vehicle (e.g., with respect to one,two, or three axes of translation, and/or one, two, or three axes ofrotation). For example, the IMU can sense a signal representative of theacceleration of the aerial vehicle, and the signal can be integratedonce to provide velocity information, and twice to provide locationand/or orientation information. The IMU may be able to determine theacceleration, velocity, and/or location/orientation of the aerialvehicle without interacting with any external environmental factors orreceiving any signals from outside the aerial vehicle.

An IMU may provide a signal to the flight controller 520 which may beuseful in generating a command signal to one or more motors 560 of theaerial vehicle. In some instances, the flight controller may use acontrol feedback scheme that may utilize information from the IMU.

Other sensors may be utilized to determine the attitude, angularvelocity, and/or angular acceleration of the aircraft. The other sensorsmay or may not be on-board the aircraft. The other sensors may or maynot communicate with additional devices that are external to theaircraft. For instance, the sensors may be able to determine theinformation without receiving any external signal from the aircraft.

Optionally, an external device 550 may be in communication with theflight controller. The external device may be provided off-board theaircraft. The external device may be capable of communicating with theaircraft wirelessly. The external device may have any information, suchas navigation or positional information relating to the aircraft. Insome instances, the external device may include aircraft configurationparameter data. Optionally, the external device may communicate aircraftconfiguration parameter data to a memory 530 storing aircraftconfiguration parameter data for the aircraft. The data on-board theaircraft may be updated with new data from the external device. Theupdates may be made automatically or in response to a request from auser or from the aircraft.

In some implementations, the external device may be a flight controldevice which may provide one or more flight instructions to the flightcontroller. For example, a user may use a remote controller that maycommunicate wirelessly with the aircraft. The user may specify differentflight instructions, such as programming a predetermined path orproviding instructions in real-time. The flight instructions may includeinformation about a target attitude of the aircraft about one or moreaxes. For example, the flight instructions may result in an instructionto adjust the attitude of an aircraft by a certain amount. Theinstructions may or may not also include information about a targetangular velocity and/or target angular acceleration of the aircraft.

The flight controller 520 may generate a command signal to the one ormore actuators 560 a, 560 b of the aircraft, which may result inoperation of the propulsion units to control the flight of the aircraft.This may include attitude control of the aircraft about three orthogonalaxes (e.g., pitch, yaw, and roll). The flight controller may calculatethe command signal based on one or more aircraft configurationparameters 530 that may be derived from and represent physicalcharacteristics of the aircraft, feedback input about the aircraftattitude (e.g., information about the aircraft's attitude, angularvelocity, and/or angular acceleration about the three orthogonal axes),and one or more flight instructions from a flight control device 550,which may optionally be external to the aircraft. The flight controllermay use feedback control, incorporating the flight configurationparameters, to control the attitude of the aircraft.

FIG. 6A shows an example of an attitude control scheme that may beimplemented by an aircraft, in accordance with an embodiment of thedisclosure. The attitude control scheme may be used to control theattitude of the aircraft about one, two, or three axes. For example, theattitude control scheme may be used to control the attitude of theaircraft about the pitch axis, roll axis, and yaw axis.

A flight planner 610 may be provided to generate a command signal thatdetermines the flight of the aircraft. The flight planner may beprovided on-board the aircraft, or may be provided off-board theaircraft and may communicate with the aircraft. The flight planner mayinclude one or more memory units, and one or more processors that mayindividually or collectively perform one or more of the steps providedherein. The memory may include non-transitory computer readable media,that may comprise code, logic, or instructions for performing one ormore steps as described herein. The one or more processors may performthe one or more steps in accordance with the non-transitory computerreadable media.

A remote controller 605 or other type of flight control device may beprovided in accordance with an embodiment of the disclosure. The remotecontroller may be operated by a user to control the flight of theaircraft. This may include location of the aircraft, as well as angularorientation of the aircraft. In some instances, the user may directlyinput instructions regarding aircraft flight in real-time. For example,the user may provide an input to adjust an attitude of the aircraft. Inother instances, the user may provide instructions for the aircraft tofollow a predetermined or pre-programmed path. In some instances, theremote controller may be separated from the aircraft and may communicatewith the aircraft via a wireless connection. In other instances, aflight control device may be built into the aircraft and any descriptionherein of a remote controller may also apply to a flight control devicethat is part of the aircraft. For example, a user may be on-board theaircraft and provide instructions for flight via the on-board flightcontrol device.

The remote controller 605 may provide a signal indicative of one or moretarget attitude θ_Tar to the planner 610. The target attitude may be atarget attitude for the aircraft about one, two, or three axes ofrotation. For example the target attitude may be indicative of theattitude of the aircraft about the pitch, roll, and yaw axes. Theplanner may calculate one or more signal to be provided to motors of theaircraft to attempt to achieve the target attitude. The planner 610 mayalso receive information about the aircraft dynamics 650. In someinstances, the information about the aircraft dynamics may be providedby one or more sensors. In one example, information about the aircraftdynamics may be provided from one or more inertial sensors (e.g., one ormore gyroscopes or accelerometers) from on-board the aircraft. Theinformation about aircraft dynamics may include attitude, angularvelocity, and/or angular acceleration about one, two, or three of thefollowing axes: pitch axis, roll axis, and yaw axis. In one example, thecurrent attitude of the aircraft θ_Cur may be conveyed to the planner.The planner may compare the target attitude θ_Tar with the currentattitude θ_Cur. This comparison may occur about each of the pitch, roll,and yaw axes. The difference in angle may be determined to be the errorin attitude θ_Err.

Although only pitch control 620 a is shown in detail, the same controlscheme may also apply to the roll control 620 b and the yaw control 620c. Any discussion of pitch control or any angular control in general maybe applied to any or all of these axes. Any description of attitude,angular velocity, and/or angular acceleration may be applied to any orall of these axes. The three axes may be decoupled from one another.

The error in attitude θ_Err may be used with fuzzy logic 621 to controlthe angle of the aircraft. The control may be a feedback control. Insome instances, the feedback control may use proportional, integral,and/or derivative control schemes. The feedback control may be a fuzzyproportional-integral-derivative (PID) control. In some instances, thetarget attitude may be proportional-integral (PI) or PID controlled 622.An angle control loop may be provided.

A target angular velocity ω_Tar may result. The target angular velocitymay be compared with a measured angular velocity ω 623. The measuredangular velocity may be part of the aircraft dynamics 650 that may bemeasured via one or more sensors. The target angular velocity may becompared with the measured angular velocity to determine an error inangular velocity ω_Err.

The error in angular velocity ω_Err may or may not be used with fuzzylogic to control the angular velocity of the aircraft. The control maybe a feedback control. In some instances, the feedback control may useproportional, integral, and/or derivative control schemes. The feedbackcontrol may be a proportional-integral-derivative (PID) control. In someinstances, the target angular velocity may be proportional (P)controlled 624. An angular velocity loop may be provided.

A target angular acceleration α_Tar may result. The target angularacceleration may be compared with a measured angular acceleration α 625.The measured angular acceleration may be part of the aircraft dynamics650 that may be measured via one or more sensors. The target angularacceleration may be compared with the measured angular acceleration todetermine an error in angular acceleration α_Err.

The error in angular acceleration α_Err may or may not be used withfuzzy logic to control the angular acceleration of the aircraft. Thecontrol may be a feedback control. In some instances, the feedbackcontrol may use proportional, integral, and/or derivative controlschemes. The feedback control may be a proportional-integral-derivative(PID) control. In some instances, the target angular acceleration may beproportional-integral (PI) or PID controlled 626. An angularacceleration loop may be provided.

A feedforward loop 627 may also be provided. The feedforward loop may beprovided for angular acceleration. For example, the target angularacceleration α_Tar may be used in the feedforward loop. In someinstances, one or more aircraft configuration parameters 660 that may bederived from one or more physical characteristics of the aircraft may beincorporated into the feedforward loop. For example, a moment of inertiaof the aircraft I may be provided to the feedforward loop. In oneexample, a torque of the aircraft τ may be calculated as the targetangular acceleration α_Tar multiplied by the moment of inertia I. Thus,the angular acceleration loop may use the moment of inertia to directlycalculate the output, and simultaneously according to the currentangular acceleration value may perform the PID control as a compensationamount.

Thus, both feedforward and feedback may be used for control of theangular acceleration. The feedforward model parameters can improveresponse time of the control system, while the feedback control cancompensate for model errors and dynamic disturbances. Since the angularvelocity control can be directly regarded as the entire aircraft's rolltorque control, the response time to external disturbances can be evenshorter and the suppression effect better than system that do not usethis control scheme. The feedforward loop may enable the angularacceleration loop to act as a direct control, so the response time maybe short. Disturbances may be directly suppressed, reducing responsetime.

A mixer 630 may be provided in accordance with an embodiment of thedisclosure. The mixer may be part of a flight controller in accordancewith an embodiment of the disclosure. The mixer may include one or moreprocessors that may or may not be the same as the processors used forthe flight planner 610. The mixer may receive information pertaining tothe attitude for the pitch control, roll control, and/or yaw control.For instance, data after the feedforward and feedback loop pertaining tothe angular acceleration may be provided to the mixer for each of theaxes of rotation 620 a, 620 b, 620 c. The overall calculation resultsmay be summed.

The mixer 630 may receive information regarding an aircraftconfiguration parameter 660. The aircraft configuration parameter may bederived from a physical characteristic of the aircraft or aircraftmodel. In one example, the mixer may receive an axial distance L for theaircraft. The axial distance may be the distance between a motor and anaerodynamic center of the aircraft. Alternatively, the axial distancemay be a distance between a propulsion unit and an aerodynamic center ofthe aircraft. In some instances, an aircraft may have multiple motors640 a, 640 b, 640 c, 640 d. The axial distance may be the same for eachof the motors. Alternatively, the different motors may have differentaxial distances. In some instances, the axial distance may be a distancebetween the aerodynamic center and an axis passing through a propulsionunit and/or rotor in a direction of thrust created by the propulsionunit.

The mixer 630 may calculate a desired force to be exerted by eachpropulsion unit. The force may be calculated based on the aircraftconfiguration parameter 660 and the information from the control schemesfor each of the axes of rotation 620 a, 620 b, 620 c. The torque τcalculated in the feedforward loop 627 may be used, as well as the axialdistance L to calculate the force for each motor. The force F may becalculated as τ/L. The desired additional force to be exerted on eachmotor may be calculated by the mixer. The desired additional force maybe conveyed as a command signal to each motor. The forces for each motormay be the same or may differ. For example, for a first motor M1 640 a,the desired force may be ΔF1, for a first motor M2 640 b, the desiredforce may be ΔF2, for a first motor M3 640 c, the desired force may beΔF3, and/or for a first motor M4 640 d, the desired force may be ΔF4.The motor may operate at a level to generate the desired force, orapproximately the desired force. In some instances, a motor lift curve670 may be used in determining motor output. The curve may include liftgenerated per percentage of motor operation. The motor lift curve may bethrust per percentage operation. The curve may show a non-linearrelationship. The motor lift curve may be an aircraft configurationparameter that may be derived from one or more physical characteristicsof the aircraft. One or more of the aircraft configuration parametersderived from one or more physical parameters may be non-linearparameters.

The output from the motors 640 a, 640 b, 640 c, 640 d may be used todrive one or more propulsion units of the aircraft. This may determinepositioning, velocity, and/or acceleration of the aircraft. The outputfrom the motor may affect the attitude, angular velocity, and/or angularacceleration of the aircraft. Any number of motors and/or propulsionunits may be provided. The command signal to be generated to determinethe output for each motor may be individually determined to direct theaircraft to target attitude from the remote controller.

The dynamics 650 system may register positional information relating tothe aircraft. For example, one or more inertial sensors may determinethe aircraft attitude, angular velocity, and/or angular acceleration,and the information may be fed back to the control system. In someinstances, output to the motor or measured output from the motor may beused to calculate an aircraft attitude, angular velocity, and/or angularacceleration. Other on-board or off-board sensors may be used todetermine the aircraft dynamics.

Any of the flight control steps may be executed with aid of softwarethat may be provided on-board the aircraft. The software may incorporateor accept values for aircraft configuration parameters. The aircraftconfiguration parameters may include or be derived from one or morephysical characteristics of the aircraft or aircraft model. Thus, theflight control software may be specific to the aircraft or aircraftmodel, and may provide more accurate control.

FIG. 6B shows another example of an attitude control scheme that may beimplemented by an aircraft, in accordance with an embodiment of thedisclosure. The attitude control scheme may have one or more features orcharacteristics of the attitude control scheme described in FIG. 6A.

The target may be to track any attitude command

g_(d)∈SO(3)

0Challenges may arise because the configuration manifold may benon-linear.

A flight planner (se(3)) 610 b may be provided to generate a commandsignal that determines the flight of the aircraft. The flight plannermay be provided on-board the aircraft, or may be provided off-board theaircraft and may communicate with the aircraft. In some instances,exponential coordinates (so(3)) may be provided in a linear space. Thismay be optimal or preferable in terms of geodesic. Optionally, there maybe no singularities (Euler angle), and/or no ambiguity (quarternion, two->one).

A remote controller (SO(3)) 605 b or other type of flight control devicemay be provided in accordance with an embodiment of the disclosure. Theremote controller may be operated by a user to control the flight of theaircraft. This may include location of the aircraft, as well as angularorientation of the aircraft. In some instances, the user may directlyinput instructions regarding aircraft flight in real-time. For example,the user may provide an input to adjust an attitude of the aircraft. Inother instances, the user may provide instructions for the aircraft tofollow a predetermined or pre-programmed path. In some instances, theremote controller may be separated from the aircraft and may communicatewith the aircraft via a wireless connection. In other instances, aflight control device may be built into the aircraft and any descriptionherein of a remote controller may also apply to a flight control devicethat is part of the aircraft. For example, a user may be on-board theaircraft and provide instructions for flight via the on-board flightcontrol device.

The remote controller 605 b may provide a signal indicative of one ormore target attitude θ_Tar to the planner 610 b. The target attitude maybe a target attitude for the aircraft about one, two, or three axes ofrotation. For example the target attitude may be indicative of theattitude of the aircraft about the pitch, roll, and yaw axes. Theplanner may calculate one or more signal to be provided to motors of theaircraft to attempt to achieve the target attitude.

The planner 610 b may also receive information about the aircraftdynamics 650 b. In some instances, the information about the aircraftdynamics may be provided by one or more sensors. In one example,information about the aircraft dynamics may be provided from one or moreinertial sensors (e.g., one or more gyroscopes or accelerometers) fromon-board the aircraft. The information about aircraft dynamics mayinclude attitude, angular velocity, and/or angular acceleration aboutone, two, or three of the following axes: pitch axis, roll axis, and yawaxis. In one example, the current attitude of the aircraft θ_Cur may beconveyed to the planner. The planner may compare the target attitudeθ_Tar with the current attitude θ_Cur. This comparison may occur abouteach of the pitch, roll, and yaw axes. The difference in angle may bedetermined to be the error in attitude θ_Err.

Although only pitch control 620 d is shown in detail, the same controlscheme may also apply to the roll control 620 e and the yaw control 620f. Any discussion of pitch control or any angular control in general maybe applied to any or all of these axes. Any description of attitude,angular velocity, and/or angular acceleration may be applied to any orall of these axes. The three axes may be decoupled from one another.

The error in attitude θ_Err may be used with fuzzy logic 621 b tocontrol the angle of the aircraft. The control may be a feedbackcontrol. In some instances, the feedback control may use proportional,integral, and/or derivative control schemes. The feedback control may bea fuzzy proportional-integral-derivative (PID) control. In someinstances, the target attitude may be proportional (P) or PID controlled622 b. An angle control loop may be provided.

A target angular velocity ω_Tar may result. The target angular velocitymay be compared with a measured angular velocity ω 623 b. The measuredangular velocity may be part of the aircraft dynamics 650 b that may bemeasured via one or more sensors. The target angular velocity may becompared with the measured angular velocity to determine an error inangular velocity ω_Err.

The error in angular velocity ω_Err may or may not be used with fuzzylogic to control the angular velocity of the aircraft. The control maybe a feedback control. In some instances, the feedback control may useproportional, integral, and/or derivative control schemes. The feedbackcontrol may be a proportional-integral-derivative (PID) control. In someinstances, the target angular velocity may be proportional-derivative(PD) controlled 624 b. An angular velocity loop may be provided.

A target change in angular velocity ω_Tar may result. The change inangular velocity may be an angular acceleration. The target angularacceleration may be compared with a measured change in angular velocityω 625 b. The measured change in angular velocity may be part of theaircraft dynamics 650 b that may be measured via one or more sensors.The target change in angular velocity may be compared with the measuredchange in angular velocity to determine an error in the change inangular velocity ω_Err.

The error in the change in angular velocity ω_Err may or may not be usedwith fuzzy logic to control the change in angular velocity of theaircraft. The control may be a feedback control. In some instances, thefeedback control may use proportional, integral, and/or derivativecontrol schemes. The feedback control may be aproportional-integral-derivative (PID) control. In some instances, thetarget change in angular velocity may be proportional-integral (PI) orPID controlled 626 b. An angular acceleration loop may be provided.

A feedforward loop 627 b may also be provided. The feedforward loop maybe provided for change in angular velocity. For example, the targetchange in angular velocity ω_Tar may be used in the feedforward loop. Insome instances, one or more aircraft configuration parameters 660 b thatmay be derived from one or more physical characteristics of the aircraftmay be incorporated into the feedforward loop. For example, a moment ofinertia of the aircraft J may be provided to the feedforward loop. Inone example, a torque of the aircraft τ may be calculated asJω+ω^(b)×Jω^(b). Thus, the loop for change in angular velocity may usethe moment of inertia to calculate the output, and simultaneouslyaccording to the current change in angular velocity value and currentangular velocity value may perform the PID control as a compensationamount.

Thus, both feedforward and feedback may be used for control of thechange in angular velocity (which may optionally be angularacceleration). The feedforward model parameters can improve responsetime of the control system, while the feedback control can compensatefor model errors and dynamic disturbances. Since the angular velocitycontrol can be directly regarded as the entire aircraft's roll torquecontrol, the response time to external disturbances can be even shorterand the suppression effect better than system that do not use thiscontrol scheme. The feedforward loop may enable the angular accelerationloop to act as a direct control, so the response time may be short.Disturbances may be directly suppressed, reducing response time.

A mixer 630 b may be provided in accordance with an embodiment of thedisclosure. The mixer may be part of a flight controller in accordancewith an embodiment of the disclosure. The mixer may include one or moreprocessors that may or may not be the same as the processors used forthe flight planner 610 b. The mixer may receive information pertainingto the attitude for the pitch control, roll control, and/or yaw control.For instance, data after the feedforward and feedback loop pertaining tothe change in angular velocity may be provided to the mixer for each ofthe axes of rotation 620 d, 620 e, 620 f. The overall calculationresults may be summed.

The mixer 630 b may receive information regarding an aircraftconfiguration parameter 660 b. The aircraft configuration parameter maybe derived from a physical characteristic of the aircraft or aircraftmodel. In one example, the mixer may receive an axial distance L for theaircraft. The axial distance may be the distance between a motor and anaerodynamic center of the aircraft. Alternatively, the axial distancemay be a distance between a propulsion unit and an aerodynamic center ofthe aircraft. In some instances, an aircraft may have multiple motors641 a, 641 b, 641 c, 641 d. The axial distance may be the same for eachof the motors. Alternatively, the different motors may have differentaxial distances. In some instances, the axial distance may be a distancebetween the aerodynamic center and an axis passing through a propulsionunit and/or rotor in a direction of thrust created by the propulsionunit.

The mixer 630 b may calculate a desired force to be exerted by eachpropulsion unit. The force may be calculated based on the aircraftconfiguration parameter 660 b and the information from the controlschemes for each of the axes of rotation 620 d, 620 e, 620 f. The torqueτ calculated in the feedforward loop 627 b may be used, as well as theaxial distance L to calculate the force for each motor. The force F maybe calculated as τ/L. The desired additional force to be exerted on eachmotor may be calculated by the mixer. The desired additional force maybe conveyed as a command signal to each motor. The forces for each motormay be the same or may differ. For example, for a first motor M1 641 a,the desired force may be ΔF1, for a first motor M2 641 b, the desiredforce may be ΔF2, for a first motor M3 641 c, the desired force may beΔF3, and/or for a first motor M4 641 d, the desired force may be ΔF4.The motor may operate at a level to generate the desired force, orapproximately the desired force. In some instances, a motor lift curve670 b may be used in determining motor output. The curve may includelift generated per percentage of motor operation. The motor lift curvemay be thrust per percentage operation. The curve may show a non-linearrelationship. The motor lift curve may be an aircraft configurationparameter that may be derived from one or more physical characteristicsof the aircraft. One or more of the aircraft configuration parametersderived from one or more physical parameters may be non-linearparameters.

The output from the motors 641 a, 641 b, 641 c, 641 d may be used todrive one or more propulsion units of the aircraft. This may determinepositioning, velocity, and/or acceleration of the aircraft. The outputfrom the motor may affect the attitude, angular velocity, and/or angularacceleration of the aircraft. Any number of motors and/or propulsionunits may be provided. The command signal to be generated to determinethe output for each motor may be individually determined to direct theaircraft to target attitude from the remote controller.

The dynamics 650 b system may register positional information relatingto the aircraft. For example, one or more inertial sensors may determinethe aircraft attitude, angular velocity, and/or angular acceleration,and the information may be fed back to the control system. In someinstances, output to the motor or measured output from the motor may beused to calculate an aircraft attitude, angular velocity, and/or angularacceleration. Other on-board or off-board sensors may be used todetermine the aircraft dynamics.

In some embodiments, the kinematics of the system may be considered. Afirst order fully actuated system may be provided.

ġ=g{circumflex over (ω)}^(b)

where:

g=R∈SO(3)

-   ω^(b)    ³—angular velocity in body frame-   Proportional control may be applied.

Geometric control may be provided on so(3). For regulating:

(tr(g(0))≠−1)

{circumflex over (ω)}^(b) =k _(p) log(b⁻¹)

-   For tracking:

{circumflex over (ω)}^(b) =k _(p) log(b⁻¹g_(d))

where:

g=R∈SO(3)

-   g is the current orientation-   g_(d) is the desired orientation-   k_(p) is the controller gain

The dynamics may be:

J{dot over (ω)} ^(b)+ω^(b) ×Jω ^(b) =u+Δ

where

g=R∈SO(3)

-   J∈    ^(3×3)—inertia matrix in body frame-   ω^(b)∈    ³—angular velocity in body frame-   u∈    ³—control moment in body frame-   Δ∈    ³—disturbances-   As previously implemented in the feedforward loop of the control    scheme. Linear control may be provided. This may include angular    velocity control:

ω_(e)^(b) = (ω_(d)^(b) − ω^(b))${\overset{.}{\omega}}^{b} = {{k_{p}\omega_{e}^{b}} + {k_{d}\frac{\omega_{e}^{b}}{dt}}}$

-   Angular velocity control may include:

${\overset{.}{\omega}}_{e}^{b} = ( {{\overset{.}{\omega}}_{d}^{b} - {\overset{.}{\omega}}^{b}} )$$u = {{k_{p}( {\overset{.}{\omega}}_{e}^{b} )} + {\int_{0}^{t}{{\overset{.}{\omega}}_{e}^{b}dt}} + {\omega^{b} \times J\omega^{b}}}$

FIG. 6C shows an example of a portion of a control inner loop, inaccordance with an embodiment of the disclosure. System identificationof actuators may occur. Actuators may include propellers, rotors,motors, or any other types of actuators. An actuator model for a firstorder system with time delay may be:

${G_{p}(s)} = \frac{e^{{- \tau}s}}{{T_{\phi}s} + 1}$

FIG. 6C shows an example of a Smith predictor that may be utilized in acontrol scheme. The Smith predictor may be part of an inner loopcontrol. The Smith predictor may predict and correct for dynamics of theaircraft. The Smith predictor may be a predictive controller that can beused for systems with pure time delay.

FIG. 6D shows an example of an attitude control scheme in accordancewith an embodiment of the disclosure. A step signal (e.g., Step) may beprovided as an input. A DC signal may be employed. An upper part of theshown attitude control scheme may be a conventional controller design,while the lower part may be a proposed control design, using a cascadecontrol with a predictor.

A portion of the control scheme may include one or more PID controllers(e.g., PID Controller4, PID Controller1). These may include an inner PIDloop and outer PID loop. Any number of PID loops may be provided (e.g.,1, 2, 3, 4, 5 or more loops). In some embodiments, one or more of thePID loops may be nested within one another. A switch (e.g., Switch) maybe provided. The switch may change positions when signal saturationoccurs. The resulting signal may undergo a system transfer function(e.g., sys transfer fcn1) and interact with one or more integrator(e.g., Integrator, Integrator4). In the feedback process there may betransport delay (e.g., Transport Delay2, Transport Delay9).

The portion of the control scheme may be a controller used to controlangle based on the angle and/or angular velocity of the aircraft.

Another portion of the control scheme may include one or more PIDcontrollers (e.g., PID Controller2, PID Controller3, PID Controller 5).This may include one or more inner PID loops and/or outer PID loops. Anynumber of PID loops may be provided that may be nested within oneanother. A switch (e.g., Switch3) may be provided. The switch may changepositions when signal saturation occurs. The resulting signal mayundergo a system transfer function (e.g., sys transfer fcn2) andinteract with one or more integrator (e.g., Integrator2, Integrator5).In the feedback process there may be transport delay (e.g., TransportDelay5, Transport Delay6, Transport Delay8, Transport Delay10). In thefeedback there may be model transfer functions (e.g., model transferfcn1, model transfer fcn2, model transfer fcn3) and associated switches(e.g., Switch4, Switch5, Switch).

The other portion of the control scheme may be a controller that maycontrol angle of an aircraft based on the angle, angular velocity,and/or angular acceleration of the aircraft. Additionally, a Smithpredictor may be included in the portion of the control scheme.

In some embodiments, output may be provided to a scope (e.g., Scope).Results of using improved control schemes that incorporate theseadditional features may be shown in FIG. 8.

FIG. 7A shows an example of tracking error, in accordance with anembodiment of the disclosure. This may be incorporated as part of theattitude control as previously described. A target may be compared witha feedback value to provide error. This may be done for angle, angularvelocity, and/or angular acceleration. This may be done over one or moreaxes, such as a pitch axis, roll axis, or yaw axis.

The error may or may not be used with fuzzy logic to control theattitude feature (e.g., angle, angular velocity, or angularacceleration) of the aircraft. The control may be a feedback control. Insome instances, the feedback control may use proportional, integral,and/or derivative control schemes. The feedback control may be aproportional-integral-derivative (PID) control. In some instances, thetarget attitude feature may be proportional (P) controlled 710. Theerror 720 in the attitude feature may be provided to the controller 710.Fuzzy logic 730 may be employed to control the attitude feature (e.g.,angle, angular velocity, angular acceleration) of the aircraft.

Optionally, a feedback value may be provided. For example, an errorvalue of the controlled attitude feature error.P(error) 740 may beprovided. In some instances fuzzy logic 750 may be employed indetermining the error 740 value. The error value may be determined withaid of one or more measured aircraft dynamics. For example, an attitudefeature of the aircraft may be measured with aid of one or more sensor.The gain of the controller may be adjusted dynamically by the fuzzylogic engine. This scheme may advantageously improve the response speedwhen the error is large. At the same time, the scheme may improvestability when the error is small.

FIG. 7B further shows an example of tracking error, in accordance withan embodiment of the disclosure. Examples of the degree of membershipare displayed. Furthermore, the proportional gain (kp) as a function oferror may be calculated and/or determined. The proportional gain kp maybe a nonlinear function of error. This non-linear function may be usedin the aircraft attitude control. The non-linear proportional gainfunction may be used in the error tracking of the aircraft control.

FIG. 8 shows a comparison between a response of a controller provided inaccordance with an embodiment of the disclosure, as compared to aconventional controller. The controller may give a faster response andsmaller overshoot than a conventional controller. Moreover, it may useless time to settle down in a steady state.

A target angle may be shown. For example, it may be desirable to reach atarget angle having a particular degree value at a particular point intime. For example, at 0.5 units of time in, a command may be providedthat changes the target angle to 40 (e.g., 40 degrees). Responses for aproposed controller as described herein and a conventional controllerare provided. The proposed controller may implement a control scheme asdescribed elsewhere herein. The proposed controller may take physicalcharacteristics of an aircraft into account. The proposed controller mayuse a feedforward and feedback loop about acceleration. In someinstances, the conventional controller does not take physicalcharacteristics of an aircraft into account. The conventional controllerdoes not calculate a moment of inertia of the aircraft and incorporatethe moment of inertia into the control scheme. The conventionalcontroller may optionally not include a feedforward and feedback loopabout acceleration.

A response of the proposed controller may be faster than a response of aconventional controller, as illustrated. In some instances, the responseof the proposed controller may be about two times faster than theresponse of a conventional controller. For example, the proposedcontroller may permit the aircraft to reach the target angle about 2times faster than the aircraft using the conventional controller. Insome instances, the proposed controller may reach the target angle about1.1 times faster, 1.2 times faster, 1.3 times faster, 1.5 times faster,2 times faster, 2.5 times faster, 3 times faster, 3.5 times faster, 4times faster, 5 times faster, 6 times faster, 7 times faster, or 10times faster than the conventional controller. Thus, the proposedcontrol scheme as described herein may permit the aircraft to respondmore rapidly to reach a target angle.

The proposed controller may have less oscillation than the conventionalcontroller. The proposed controller may have little or no oscillation.Oscillation may refer to variation in the attitude of an aircraft aroundthe target angle. For example, when an aircraft is approaching a targetangle, there may be some overshot and/or overcompensation that may causesome variation before the aircraft reaches and stabilizes at the targetangle.

The methods and systems described herein may provide improved attitudecontrol of aircrafts over one, two, or three axes of rotation.Simplified parameter tuning may be provided. When assessing parametersfor aircraft performance, the parameter assessment can be performeddirectly by a flight controller, which may greatly reduce parametertuning time over traditional systems. Changes to or variations inaircraft dimensions and weight may be accommodated. The flight controlparameter tuning may be completed by directly adjusting the aircraft'sfundamental parameters, easily and reliably. Thus, the control systemmay take different models of aircrafts with different physicalcharacteristics into account, or physical changes that may occur to anexisting aircraft.

Additionally, the angular acceleration loop as described herein, canenhance dynamic tracking performance and disturbance resistance. Sincethe angular acceleration loop control may act as a direct control, theresponse time may be shortened, and may have strong disturbanceresistance characteristics, compared to traditional control systems. Forinstance, traditional systems use angular velocity loop control, andwhen the plane has not yet produced roll velocities, delay in controlmay be provided. By using the angular acceleration loop as described,disturbances can be directly suppressed, reducing response time.

The systems, devices, and methods described herein can be applied to awide variety of movable objects. As previously mentioned, anydescription herein of an aerial vehicle may apply to and be used for anymovable object. Any description herein of an aerial vehicle may applyspecifically to UAVs. A movable object of the present disclosure can beconfigured to move within any suitable environment, such as in air(e.g., a fixed-wing aircraft, a rotary-wing aircraft, or an aircrafthaving neither fixed wings nor rotary wings), in water (e.g., a ship ora submarine), on ground (e.g., a motor vehicle, such as a car, truck,bus, van, motorcycle, bicycle; a movable structure or frame such as astick, fishing pole; or a train), under the ground (e.g., a subway), inspace (e.g., a spaceplane, a satellite, or a probe), or any combinationof these environments. The movable object can be a vehicle, such as avehicle described elsewhere herein. In some embodiments, the movableobject can be carried by a living subject, or take off from a livingsubject, such as a human or an animal. Suitable animals can includeavines, canines, felines, equines, bovines, ovines, porcines, delphines,rodents, or insects.

The movable object may be capable of moving freely within theenvironment with respect to six degrees of freedom (e.g., three degreesof freedom in translation and three degrees of freedom in rotation).Alternatively, the movement of the movable object can be constrainedwith respect to one or more degrees of freedom, such as by apredetermined path, track, or orientation. The movement can be actuatedby any suitable actuation mechanism, such as an engine or a motor. Theactuation mechanism of the movable object can be powered by any suitableenergy source, such as electrical energy, magnetic energy, solar energy,wind energy, gravitational energy, chemical energy, nuclear energy, orany suitable combination thereof. The movable object may beself-propelled via a propulsion system, as described elsewhere herein.The propulsion system may optionally run on an energy source, such aselectrical energy, magnetic energy, solar energy, wind energy,gravitational energy, chemical energy, nuclear energy, or any suitablecombination thereof. Alternatively, the movable object may be carried bya living being.

In some instances, the movable object can be a vehicle. Suitablevehicles may include water vehicles, aerial vehicles, space vehicles, orground vehicles. For example, aerial vehicles may be fixed-wing aircraft(e.g., airplane, gliders), rotary-wing aircraft (e.g., helicopters,rotorcraft), aircraft having both fixed wings and rotary wings, oraircraft having neither (e.g., blimps, hot air balloons). A vehicle canbe self-propelled, such as self-propelled through the air, on or inwater, in space, or on or under the ground. A self-propelled vehicle canutilize a propulsion system, such as a propulsion system including oneor more engines, motors, wheels, axles, magnets, rotors, propellers,blades, nozzles, or any suitable combination thereof. In some instances,the propulsion system can be used to enable the movable object to takeoff from a surface, land on a surface, maintain its current positionand/or orientation (e.g., hover), change orientation, and/or changeposition.

The movable object can be controlled remotely by a user or controlledlocally by an occupant within or on the movable object. In someembodiments, the movable object is an unmanned movable object, such as aUAV. An unmanned movable object, such as a UAV, may not have an occupantonboard the movable object. The movable object can be controlled by ahuman or an autonomous control system (e.g., a computer control system),or any suitable combination thereof. The movable object can be anautonomous or semi-autonomous robot, such as a robot configured with anartificial intelligence.

The movable object can have any suitable size and/or dimensions. In someembodiments, the movable object may be of a size and/or dimensions tohave a human occupant within or on the vehicle. Alternatively, themovable object may be of size and/or dimensions smaller than thatcapable of having a human occupant within or on the vehicle. The movableobject may be of a size and/or dimensions suitable for being lifted orcarried by a human. Alternatively, the movable object may be larger thana size and/or dimensions suitable for being lifted or carried by ahuman. In some instances, the movable object may have a maximumdimension (e.g., length, width, height, diameter, diagonal) of less thanor equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. Themaximum dimension may be greater than or equal to about: 2 cm, 5 cm, 10cm, 50 cm, 1 m, 2 m, 5 m, or 10 m. For example, the distance betweenshafts of opposite rotors of the movable object may be less than orequal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m, or 10 m.Alternatively, the distance between shafts of opposite rotors may begreater than or equal to about: 2 cm, 5 cm, 10 cm, 50 cm, 1 m, 2 m, 5 m,or 10 m.

In some embodiments, the movable object may have a volume of less than100 cm×100 cm×100 cm, less than 50 cm×50 cm×30 cm, or less than 5 cm×5cm×3 cm. The total volume of the movable object may be less than orequal to about: 1 cm³, 2 cm³, 5 cm³, 10 cm³, 20 cm³, 30 cm³, 40 cm³, 50cm³, 60 cm³, 70 cm³, 80 cm³, 90 cm³, 100 cm³, 150 cm³, 200 cm³, 300 cm³,500 cm³, 750 cm³, 1000 cm³, 5000 cm³, 10,000 cm³, 100,000 cm³, 1 m³, or10 m³. Conversely, the total volume of the movable object may be greaterthan or equal to about: 1 cm³, 2 cm³, 5 cm³, 10 cm³, 20 cm³, 30 cm³, 40cm³, 50 cm³, 60 cm³, 70 cm³, 80 cm³, 90 cm³, 100 cm³, 150 cm³, 200 cm³,300 cm³, 500 cm³, 750 cm³, 1000 cm³, 5000 cm³, 10,000 cm³, 100,000 cm³,1 m³, or 10 m³.

In some embodiments, the movable object may have a footprint (which mayrefer to the lateral cross-sectional area encompassed by the movableobject) less than or equal to about: 32,000 cm², 20,000 cm², 10,000 cm²,1,000 cm², 500 cm², 100 cm², 50 cm², 10 cm², or 5 cm². Conversely, thefootprint may be greater than or equal to about: 32,000 cm², 20,000 cm²,10,000 cm², 1,000 cm², 500 cm², 100 cm², 50 cm², 10 cm², or 5 cm².

In some instances, the movable object may weigh no more than 1000 kg.The weight of the movable object may be less than or equal to about:1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60 kg, 50kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10 kg, 9 kg,8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1 kg, 0.05 kg,or 0.01 kg. Conversely, the weight may be greater than or equal toabout: 1000 kg, 750 kg, 500 kg, 200 kg, 150 kg, 100 kg, 80 kg, 70 kg, 60kg, 50 kg, 45 kg, 40 kg, 35 kg, 30 kg, 25 kg, 20 kg, 15 kg, 12 kg, 10kg, 9 kg, 8 kg, 7 kg, 6 kg, 5 kg, 4 kg, 3 kg, 2 kg, 1 kg, 0.5 kg, 0.1kg, 0.05 kg, or 0.01 kg.

In some embodiments, a movable object may be small relative to a loadcarried by the movable object. The load may include a payload and/or acarrier, as described in further detail elsewhere herein. In someexamples, a ratio of a movable object weight to a load weight may begreater than, less than, or equal to about 1:1. In some instances, aratio of a movable object weight to a load weight may be greater than,less than, or equal to about 1:1. Optionally, a ratio of a carrierweight to a load weight may be greater than, less than, or equal toabout 1:1. When desired, the ratio of an movable object weight to a loadweight may be less than or equal to: 1:2, 1:3, 1:4, 1:5, 1:10, or evenless. Conversely, the ratio of a movable object weight to a load weightcan also be greater than or equal to: 2:1, 3:1, 4:1, 5:1, 10:1, or evengreater.

In some embodiments, the movable object may have low energy consumption.For example, the movable object may use less than about: 5 W/h, 4 W/h, 3W/h, 2 W/h, 1 W/h, or less. In some instances, a carrier of the movableobject may have low energy consumption. For example, the carrier may useless than about: 5 W/h, 4 W/h, 3 W/h, 2 W/h, 1 W/h, or less. Optionally,a payload of the movable object may have low energy consumption, such asless than about: 5 W/h, 4 W/h, 3 W/h, 2 W/h, 1 W/h, or less.

FIG. 9 illustrates an unmanned aerial vehicle (UAV) 900, in accordancewith embodiments of the present disclosure. The UAV may be an example ofa movable object as described herein. The UAV 900 can include apropulsion system having four rotors 902, 904, 906, and 908. Any numberof rotors may be provided (e.g., one, two, three, four, five, six, ormore). The rotors, rotor assemblies, or other propulsion systems of theunmanned aerial vehicle may enable the unmanned aerial vehicle tohover/maintain position, change orientation, and/or change location. Thedistance between shafts of opposite rotors can be any suitable length910. For example, the length 910 can be less than or equal to 2 m, orless than equal to 5 m. In some embodiments, the length 910 can bewithin a range from 40 cm to 1 m, from 10 cm to 2 m, or from 5 cm to 5m. Any description herein of a UAV may apply to a movable object, suchas a movable object of a different type, and vice versa. The UAV may usean assisted takeoff system or method as described herein.

In some embodiments, the movable object can be configured to carry aload. The load can include one or more of passengers, cargo, equipment,instruments, and the like. The load can be provided within a housing.The housing may be separate from a housing of the movable object, or bepart of a housing for a movable object. Alternatively, the load can beprovided with a housing while the movable object does not have ahousing. Alternatively, portions of the load or the entire load can beprovided without a housing. The load can be rigidly fixed relative tothe movable object. Optionally, the load can be movable relative to themovable object (e.g., translatable or rotatable relative to the movableobject). The load can include a payload and/or a carrier, as describedelsewhere herein.

In some embodiments, the movement of the movable object, carrier, andpayload relative to a fixed reference frame (e.g., the surroundingenvironment) and/or to each other, can be controlled by a terminal. Theterminal can be a remote control device at a location distant from themovable object, carrier, and/or payload. The terminal can be disposed onor affixed to a support platform. Alternatively, the terminal can be ahandheld or wearable device. For example, the terminal can include asmartphone, tablet, laptop, computer, glasses, gloves, helmet,microphone, or suitable combinations thereof. The terminal can include auser interface, such as a keyboard, mouse, joystick, touchscreen, ordisplay. Any suitable user input can be used to interact with theterminal, such as manually entered commands, voice control, gesturecontrol, or position control (e.g., via a movement, location or tilt ofthe terminal).

The terminal can be used to control any suitable state of the movableobject, carrier, and/or payload. For example, the terminal can be usedto control the position and/or orientation of the movable object,carrier, and/or payload relative to a fixed reference from and/or toeach other. In some embodiments, the terminal can be used to controlindividual elements of the movable object, carrier, and/or payload, suchas the actuation assembly of the carrier, a sensor of the payload, or anemitter of the payload. The terminal can include a wirelesscommunication device adapted to communicate with one or more of themovable object, carrier, or payload.

The terminal can include a suitable display unit for viewing informationof the movable object, carrier, and/or payload. For example, theterminal can be configured to display information of the movable object,carrier, and/or payload with respect to position, translationalvelocity, translational acceleration, orientation, angular velocity,angular acceleration, or any suitable combinations thereof. In someembodiments, the terminal can display information provided by thepayload, such as data provided by a functional payload (e.g., imagesrecorded by a camera or other image capturing device).

Optionally, the same terminal may both control the movable object,carrier, and/or payload, or a state of the movable object, carrierand/or payload, as well as receive and/or display information from themovable object, carrier and/or payload. For example, a terminal maycontrol the positioning of the payload relative to an environment, whiledisplaying image data captured by the payload, or information about theposition of the payload. Alternatively, different terminals may be usedfor different functions. For example, a first terminal may controlmovement or a state of the movable object, carrier, and/or payload whilea second terminal may receive and/or display information from themovable object, carrier, and/or payload. For example, a first terminalmay be used to control the positioning of the payload relative to anenvironment while a second terminal displays image data captured by thepayload. Various communication modes may be utilized between a movableobject and an integrated terminal that both controls the movable objectand receives data, or between the movable object and multiple terminalsthat both control the movable object and receives data. For example, atleast two different communication modes may be formed between themovable object and the terminal that both controls the movable objectand receives data from the movable object.

FIG. 10 illustrates a movable object 1000 including a carrier 1002 and apayload 1004, in accordance with embodiments. Although the movableobject 1000 is depicted as an aircraft, this depiction is not intendedto be limiting, and any suitable type of movable object can be used, aspreviously described herein. One of skill in the art would appreciatethat any of the embodiments described herein in the context of aircraftsystems can be applied to any suitable movable object (e.g., an UAV). Insome instances, the payload 1004 may be provided on the movable object1000 without requiring the carrier 1002. The movable object 1000 mayinclude propulsion mechanisms 1006, a sensing system 1008, and acommunication system 1010.

The propulsion mechanisms 1006 can include one or more of rotors,propellers, blades, engines, motors, wheels, axles, magnets, or nozzles,as previously described. The movable object may have one or more, two ormore, three or more, or four or more propulsion mechanisms. Thepropulsion mechanisms may all be of the same type. Alternatively, one ormore propulsion mechanisms can be different types of propulsionmechanisms. The propulsion mechanisms 1006 can be mounted on the movableobject 1000 using any suitable means, such as a support element (e.g., adrive shaft) as described elsewhere herein. The propulsion mechanisms1006 can be mounted on any suitable portion of the movable object 1000,such on the top, bottom, front, back, sides, or suitable combinationsthereof.

In some embodiments, the propulsion mechanisms 1006 can enable themovable object 1000 to take off vertically from a surface or landvertically on a surface without requiring any horizontal movement of themovable object 1000 (e.g., without traveling down a runway). Optionally,the propulsion mechanisms 1006 can be operable to permit the movableobject 1000 to hover in the air at a specified position and/ororientation. One or more of the propulsion mechanisms 1000 may becontrolled independently of the other propulsion mechanisms.Alternatively, the propulsion mechanisms 1000 can be configured to becontrolled simultaneously. For example, the movable object 1000 can havemultiple horizontally oriented rotors that can provide lift and/orthrust to the movable object. The multiple horizontally oriented rotorscan be actuated to provide vertical takeoff, vertical landing, andhovering capabilities to the movable object 1000. In some embodiments,one or more of the horizontally oriented rotors may spin in a clockwisedirection, while one or more of the horizontally rotors may spin in acounterclockwise direction. For example, the number of clockwise rotorsmay be equal to the number of counterclockwise rotors. The rotation rateof each of the horizontally oriented rotors can be varied independentlyin order to control the lift and/or thrust produced by each rotor, andthereby adjust the spatial disposition, velocity, and/or acceleration ofthe movable object 1000 (e.g., with respect to up to three degrees oftranslation and up to three degrees of rotation).

The sensing system 1008 can include one or more sensors that may sensethe spatial disposition, velocity, and/or acceleration of the movableobject 1000 (e.g., with respect to up to three degrees of translationand up to three degrees of rotation). The one or more sensors caninclude global positioning system (GPS) sensors, motion sensors,inertial sensors, proximity sensors, or image sensors. The sensing dataprovided by the sensing system 1008 can be used to control the spatialdisposition, velocity, and/or orientation of the movable object 1000(e.g., using a suitable processing unit and/or control module, asdescribed below). Alternatively, the sensing system 1008 can be used toprovide data regarding the environment surrounding the movable object,such as weather conditions, proximity to potential obstacles, locationof geographical features, location of manmade structures, and the like.

The communication system 1010 enables communication with terminal 1012having a communication system 1014 via wireless signals 1016. Thecommunication systems 1010, 1014 may include any number of transmitters,receivers, and/or transceivers suitable for wireless communication. Thecommunication may be one-way communication, such that data can betransmitted in only one direction. For example, one-way communicationmay involve only the movable object 1000 transmitting data to theterminal 1012, or vice-versa. The data may be transmitted from one ormore transmitters of the communication system 1010 to one or morereceivers of the communication system 1012, or vice-versa.Alternatively, the communication may be two-way communication, such thatdata can be transmitted in both directions between the movable object1000 and the terminal 1012. The two-way communication can involvetransmitting data from one or more transmitters of the communicationsystem 1010 to one or more receivers of the communication system 1014,and vice-versa.

In some embodiments, the terminal 1012 can provide control data to oneor more of the movable object 1000, carrier 1002, and payload 1004 andreceive information from one or more of the movable object 1000, carrier1002, and payload 1004 (e.g., position and/or motion information of themovable object, carrier or payload; data sensed by the payload such asimage data captured by a payload camera). In some instances, controldata from the terminal may include instructions for relative positions,movements, actuations, or controls of the movable object, carrier and/orpayload. For example, the control data may result in a modification ofthe location and/or orientation of the movable object (e.g., via controlof the propulsion mechanisms 1006), or a movement of the payload withrespect to the movable object (e.g., via control of the carrier 1002).The control data from the terminal may result in control of the payload,such as control of the operation of a camera or other image capturingdevice (e.g., taking still or moving pictures, zooming in or out,turning on or off, switching imaging modes, change image resolution,changing focus, changing depth of field, changing exposure time,changing viewing angle or field of view). In some instances, thecommunications from the movable object, carrier and/or payload mayinclude information from one or more sensors (e.g., of the sensingsystem 1008 or of the payload 1004). The communications may includesensed information from one or more different types of sensors (e.g.,GPS sensors, motion sensors, inertial sensor, proximity sensors, orimage sensors). Such information may pertain to the position (e.g.,location, orientation), movement, or acceleration of the movable object,carrier and/or payload. Such information from a payload may include datacaptured by the payload or a sensed state of the payload. The controldata provided transmitted by the terminal 1012 can be configured tocontrol a state of one or more of the movable object 1000, carrier 1002,or payload 1004. Alternatively or in combination, the carrier 1002 andpayload 1004 can also each include a communication module configured tocommunicate with terminal 1012, such that the terminal can communicatewith and control each of the movable object 1000, carrier 1002, andpayload 1004 independently.

In some embodiments, the movable object 1000 can be configured tocommunicate with another remote device in addition to the terminal 1012,or instead of the terminal 1012. The terminal 1012 may also beconfigured to communicate with another remote device as well as themovable object 1000. For example, the movable object 1000 and/orterminal 1012 may communicate with another movable object, or a carrieror payload of another movable object. When desired, the remote devicemay be a second terminal or other computing device (e.g., computer,laptop, tablet, smartphone, or other mobile device). The remote devicecan be configured to transmit data to the movable object 1000, receivedata from the movable object 1000, transmit data to the terminal 1012,and/or receive data from the terminal 1012. Optionally, the remotedevice can be connected to the Internet or other telecommunicationsnetwork, such that data received from the movable object 1000 and/orterminal 1012 can be uploaded to a website or server.

FIG. 11 is a schematic illustration by way of block diagram of a system1100 for controlling a movable object, in accordance with embodiments.The system 1100 can be used in combination with any suitable embodimentof the systems, devices, and methods disclosed herein. The system 1100can include a sensing module 1102, processing unit 1104, non-transitorycomputer readable medium 1106, control module 1108, and communicationmodule 1110.

The sensing module 1102 can utilize different types of sensors thatcollect information relating to the movable objects in different ways.Different types of sensors may sense different types of signals orsignals from different sources. For example, the sensors can includeinertial sensors, GPS sensors, proximity sensors (e.g., lidar), orvision/image sensors (e.g., a camera). The sensing module 1102 can beoperatively coupled to a processing unit 1104 having a plurality ofprocessors. In some embodiments, the sensing module can be operativelycoupled to a transmission module 1112 (e.g., a Wi-Fi image transmissionmodule) configured to directly transmit sensing data to a suitableexternal device or system. For example, the transmission module 1112 canbe used to transmit images captured by a camera of the sensing module1102 to a remote terminal.

The processing unit 1104 can have one or more processors, such as aprogrammable processor (e.g., a central processing unit (CPU)). Theprocessing unit 1104 can be operatively coupled to a non-transitorycomputer readable medium 1106. The non-transitory computer readablemedium 1106 can store logic, code, and/or program instructionsexecutable by the processing unit 1104 for performing one or more steps.The non-transitory computer readable medium can include one or morememory units (e.g., removable media or external storage such as an SDcard or random access memory (RAM)). In some embodiments, data from thesensing module 1102 can be directly conveyed to and stored within thememory units of the non-transitory computer readable medium 1106. Thememory units of the non-transitory computer readable medium 1106 canstore logic, code and/or program instructions executable by theprocessing unit 1104 to perform any suitable embodiment of the methodsdescribed herein. For example, the processing unit 1104 can beconfigured to execute instructions causing one or more processors of theprocessing unit 1104 to analyze sensing data produced by the sensingmodule. The memory units can store sensing data from the sensing moduleto be processed by the processing unit 1104. In some embodiments, thememory units of the non-transitory computer readable medium 1106 can beused to store the processing results produced by the processing unit1104.

In some embodiments, the processing unit 1104 can be operatively coupledto a control module 1108 configured to control a state of the movableobject. For example, the control module 1108 can be configured tocontrol the propulsion mechanisms of the movable object to adjust thespatial disposition, velocity, and/or acceleration of the movable objectwith respect to six degrees of freedom. Alternatively or in combination,the control module 1108 can control one or more of a state of a carrier,payload, or sensing module.

The processing unit 1104 can be operatively coupled to a communicationmodule 1110 configured to transmit and/or receive data from one or moreexternal devices (e.g., a terminal, display device, or other remotecontroller). Any suitable means of communication can be used, such aswired communication or wireless communication. For example, thecommunication module 1110 can utilize one or more of local area networks(LAN), wide area networks (WAN), infrared, radio, WiFi, point-to-point(P2P) networks, telecommunication networks, cloud communication, and thelike. Optionally, relay stations, such as towers, satellites, or mobilestations, can be used. Wireless communications can be proximitydependent or proximity independent. In some embodiments, line-of-sightmay or may not be required for communications. The communication module1110 can transmit and/or receive one or more of sensing data from thesensing module 1102, processing results produced by the processing unit1104, predetermined control data, user commands from a terminal orremote controller, and the like.

The components of the system 1100 can be arranged in any suitableconfiguration. For example, one or more of the components of the system1100 can be located on the movable object, carrier, payload, terminal,sensing system, or an additional external device in communication withone or more of the above. Additionally, although FIG. 11 depicts asingle processing unit 1104 and a single non-transitory computerreadable medium 1106, one of skill in the art would appreciate that thisis not intended to be limiting, and that the system 1100 can include aplurality of processing units and/or non-transitory computer readablemedia. In some embodiments, one or more of the plurality of processingunits and/or non-transitory computer readable media can be situated atdifferent locations, such as on the movable object, carrier, payload,terminal, sensing module, additional external device in communicationwith one or more of the above, or suitable combinations thereof, suchthat any suitable aspect of the processing and/or memory functionsperformed by the system 1100 can occur at one or more of theaforementioned locations.

While some embodiments of the present disclosure have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the disclosure. It should beunderstood that various alternatives to the embodiments of thedisclosure described herein may be employed in practicing thedisclosure. It is intended that the following claims define the scope ofthe disclosure and that methods and structures within the scope of theseclaims and their equivalents be covered thereby.

What is claimed is:
 1. A method for controlling an aircraft, comprising:receiving, via a processor of the aircraft, one or more signalsindicative of a target attitude and a current attitude of the aircraft;determining, via the processor, an error in attitude based on comparingthe target attitude and the current attitude; and generating, via theprocessor, a command signal for at least one propulsion unit of theaircraft based at least in part on the error in attitude and a feedbackloop with angular acceleration feedback.
 2. The method of claim 1,further comprising: obtaining one or more aircraft configurationparameters based on one or more physical characteristics of theaircraft.
 3. The method of claim 2, wherein the command signal isgenerated further based on a feedforward loop using at least one of theone or more aircraft configuration parameters.
 4. The method of claim 3,wherein the one or more aircraft configuration parameters comprise amoment of inertia of the aircraft.
 5. The method of claim 3, wherein theone or more aircraft configuration parameters comprise at least one of aspatial dimension, a shape, a weight, a weight distribution, a density,a center of gravity, an aerodynamic center, or an axial distancecalculated from a propulsion unit to the aerodynamic center of theaircraft.
 6. The method of claim 1, wherein generating the commandsignal further comprises: generating, via the processor, a targetangular velocity for the at least one propulsion unit of the aircraftbased at least in part on the error in attitude and a fuzzy logic; anddetermining, via the processor, an error in angular velocity based oncomparing the target angular velocity and a measured angular velocity,wherein the measured angular velocity is measured via one or moresensors coupled to the aircraft.
 7. The method of claim 6, whereingenerating the command signal further comprises: generating, via theprocessor, a target angular acceleration for the at least one propulsionunit of the aircraft based at least in part on the error in angularvelocity; and determining, via the processor, an error in angularacceleration based on comparing the target angular acceleration and ameasured angular acceleration, wherein the measured angular accelerationis measured via the one or more sensors coupled to the aircraft.
 8. Themethod of claim 1, wherein the one or more signals indicative of thecurrent attitude of the aircraft are generated by measuring, via one ormore sensors coupled to the aircraft, dynamics of the aircraft resultingfrom actuation of one or more propulsion units of the aircraft.
 9. Themethod of claim 1, wherein the one or more signals indicative of thetarget attitude of the aircraft are received from an external deviceover a wireless connection.
 10. A control system for an aircraft,comprising: one or more processors, individually or collectively,configured to: receive one or more signals indicative of a targetattitude and a current attitude of the aircraft; determine an error inattitude based on comparing the target attitude and the currentattitude; and generate a command signal for at least one propulsion unitof the aircraft based at least in part on the error in attitude and afeedback loop with angular acceleration feedback.
 11. The control systemof claim 10, wherein the one or more processors, individually orcollectively, are further configured to: obtain one or more aircraftconfiguration parameters based on one or more physical characteristicsof the aircraft.
 12. The control system of claim 11, wherein the commandsignal is generated further based on a feedforward loop using at leastone of the one or more aircraft configuration parameters.
 13. Thecontrol system of claim 12, wherein the one or more aircraftconfiguration parameters comprise a moment of inertia of the aircraft.14. The control system of claim 10, wherein the one or more processors,individually or collectively, are further configured to: generate atarget angular velocity for the at least one propulsion unit of theaircraft based at least in part on the error in attitude and a fuzzylogic; and determine an error in angular velocity based on comparing thetarget angular velocity and a measured angular velocity, wherein themeasured angular velocity is measured via one or more sensors coupled tothe aircraft.
 15. The control system of claim 14, wherein the one ormore processors, individually or collectively, are further configuredto: generate a target angular acceleration for the at least onepropulsion unit of the aircraft based at least in part on the error inangular velocity; and determine an error in angular acceleration basedon comparing the target angular acceleration and a measured angularacceleration, wherein the measured angular acceleration is measured viathe one or more sensors coupled to the aircraft.
 16. An unmanned aerialvehicle (UAV), comprising: one or more propulsion units for generating alift; and one or more processors, individually or collectively,configured to: receive one or more signals indicative of a targetattitude and a current attitude of the UAV; determine an error inattitude based on comparing the target attitude and the currentattitude; and generate a command signal for at least one propulsion unitof the UAV based at least in part on the error in attitude and afeedback loop with angular acceleration feedback.
 17. The UAV of claim16, wherein the one or more processors, individually or collectively,are further configured to: obtain one or more aircraft configurationparameters based on one or more physical characteristics of the UAV. 18.The UAV of claim 17, wherein the command signal is generated furtherbased on a feedforward loop using at least one of the aircraftconfiguration parameters.
 19. The UAV of claim 16, wherein the one ormore processors, individually or collectively, are further configuredto: generate a target angular velocity for the at least one propulsionunit of the UAV based at least in part on the error in attitude and afuzzy logic; and determine an error in angular velocity based oncomparing the target angular velocity and a measured angular velocity,wherein the measured angular velocity is measured via one or moresensors coupled to the UAV.
 20. The UAV of claim 19, wherein the one ormore processors, individually or collectively, are further configuredto: generate a target angular acceleration for the at least onepropulsion unit of the UAV based at least in part on the error inangular velocity; and determine an error in angular acceleration basedon comparing the target angular acceleration and a measured angularacceleration, wherein the measured angular acceleration is measured viathe one or more sensors coupled to the UAV.